ports/77217: x11-servers/xorg-server has keyboard problem on
pc98
Dejan Lesjak
dejan.lesjak at ijs.si
Tue Feb 8 10:30:25 PST 2005
The following reply was made to PR ports/77217; it has been noted by GNATS.
From: Dejan Lesjak <dejan.lesjak at ijs.si>
To: freebsd-gnats-submit at freebsd.org, nakaji at jp.freebsd.org
Cc:
Subject: Re: ports/77217: x11-servers/xorg-server has keyboard problem on pc98
Date: Tue, 8 Feb 2005 19:28:28 +0100
--Boundary-00=_MTQCCsNqgktoxt8
Content-Type: text/plain;
charset="us-ascii"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
Try the attached patch (put it into files directory of xorg-server port and
reinstall xorg-server).
CustomKeycode is disabled by default and shouldn't be related to this problem.
--Boundary-00=_MTQCCsNqgktoxt8
Content-Type: text/x-diff;
charset="us-ascii";
name="patch-PC98"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
filename="patch-PC98"
--- programs/Xserver/hw/xfree86/input/keyboard/kbd.c.orig Tue Feb 8 17:48:07 2005
+++ programs/Xserver/hw/xfree86/input/keyboard/kbd.c Tue Feb 8 17:48:52 2005
@@ -595,10 +595,13 @@
* they need to get the same key code as the base key on the same
* physical keyboard key.
*/
- if (scanCode == KEY_SysReqest)
- scanCode = KEY_Print;
- else if (scanCode == KEY_Break)
- scanCode = KEY_Pause;
+ /* PC98 keyboards however don't need this */
+ if (!xf86IsPc98()) {
+ if (scanCode == KEY_SysReqest)
+ scanCode = KEY_Print;
+ else if (scanCode == KEY_Break)
+ scanCode = KEY_Pause;
+ }
#endif
/*
--- programs/Xserver/hw/xfree86/os-support/shared/at_scancode.c.orig Tue Feb 8 18:14:07 2005
+++ programs/Xserver/hw/xfree86/os-support/shared/at_scancode.c Tue Feb 8 18:14:12 2005
@@ -43,6 +43,9 @@
case KEY_Prefix1:
pKbd->scanPrefix = *scanCode; /* special prefixes */
return TRUE;
+ }
+ if (!xf86IsPc98()) {
+ switch (*scanCode) {
case 0x59: *scanCode = KEY_0x59; break;
case 0x5a: *scanCode = KEY_0x5A; break;
case 0x5b: *scanCode = KEY_0x5B; break;
@@ -71,6 +74,7 @@
case 0x74: *scanCode = KEY_0x74; break;
case 0x75: *scanCode = KEY_0x75; break;
case 0x76: *scanCode = KEY_0x76; break;
+ }
}
break;
case KEY_Prefix0:
--Boundary-00=_MTQCCsNqgktoxt8--
More information about the freebsd-x11
mailing list