Grab a patch for keyboard on sparc64 from Xorg CVS. This makes 'kbd' driver

work properly this time on FreeBSD/sparc64 so stop using workaround that
defaults to old 'keyboard' one and remove erroneous patch by me.

Pointed out by:	Matthias Muthmann (mmuthmann at gmx.net)
Tested by:	Matthias Muthmann (Ultra10/type5c), me (Ultra5/type5)
Obtained from:	Xorg CVS
This commit is contained in:
Dejan Lesjak 2005-07-31 23:42:48 +00:00
parent 78b7cf7598
commit ef196a5a0f
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=140592
4 changed files with 36 additions and 31 deletions

View File

@ -106,11 +106,6 @@ MAN4+= sunbw2.4x \
sunffb.4x \
sunleo.4x \
suntcx.4x
# WITH_SPARC_KBD is meant to be used to ease fixing 'kbd' driver under sparc64.
# Do not define it if you want your keyboard to work.
.if !defined(WITH_SPARC_KBD)
SCRIPTS_ENV+= OLD_KEYBOARD=YES
.endif
.else
PLIST_SUB+= SPARC64="@comment "
PLIST_SUB+= SPARC64_NA=""

View File

@ -0,0 +1,36 @@
Index: programs/Xserver/hw/xfree86/input/keyboard/kbd.c
===================================================================
RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- programs/Xserver/hw/xfree86/input/keyboard/kbd.c 11 Jul 2005 02:38:00 -0000 1.15
+++ programs/Xserver/hw/xfree86/input/keyboard/kbd.c 13 Jul 2005 12:30:04 -0000 1.16
@@ -553,6 +553,19 @@
if (xf86inSuspend)
return;
+ if (pKbd->sunKbd) {
+ /*
+ * XXX XXX XXX:
+ *
+ * I really don't know what's wrong here, but passing the real
+ * scanCode offsets by one from XKB's point of view.
+ *
+ * (ecd@skynet.be, 980405)
+ */
+ scanCode--;
+ goto sunKeyboards;
+ }
+
/*
* First do some special scancode remapping ...
*/
@@ -616,6 +629,7 @@
}
#endif
+sunKeyboards:
/*
* Now map the scancodes to real X-keycodes ...
*/

View File

@ -1,22 +0,0 @@
--- programs/Xserver/hw/xfree86/input/keyboard/kbd.c.orig Wed Feb 23 23:28:28 2005
+++ programs/Xserver/hw/xfree86/input/keyboard/kbd.c Thu Feb 24 00:12:20 2005
@@ -571,6 +571,19 @@
}
}
+#if defined(__sparc__) && defined(__FreeBSD__)
+ /*
+ * Taken from xf86Events.c:
+ * I really don't know what's wrong here, but passing the real
+ * scanCode offsets by one from XKB's point of view.
+ *
+ * (ecd@skynet.be, 980405)
+ */
+ if (pKbd->sunKbd) {
+ scanCode--;
+ }
+#endif
+
#ifndef TERMINATE_FALLBACK
#define TERMINATE_FALLBACK 1
#endif

View File

@ -29,10 +29,6 @@ echo "#define DriverManSuffix 4x" >> $LOCALDEF
echo "#define MiscManDir \$(MANSOURCEPATH)7" >> $LOCALDEF
echo "#define MiscManSuffix 7x" >> $LOCALDEF
if [ X$OLD_KEYBOARD = XYES ]; then
echo "#define UseDeprecatedKeyboardDriver YES" >> $LOCALDEF
fi
if [ X$WITH_DEBUG != X ]; then
export CFLAGS="-g $CFLAGS"
echo "#define InstPgmFlags" >> $LOCALDEF