ports/71937: x11-servers/XFree86-4-Server has keyboard problem on pc98
NAKAJI Hiroyuki
nakaji at jp.freebsd.org
Mon Sep 20 13:10:26 UTC 2004
>Number: 71937
>Category: ports
>Synopsis: x11-servers/XFree86-4-Server has keyboard problem on pc98
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Sep 20 13:10:26 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: NAKAJI Hiroyuki
>Release: FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD xa12.heimat.gr.jp 6.0-CURRENT FreeBSD 6.0-CURRENT #10: Mon Sep 20 01:01:06 JST 2004 root at xa12.heimat.gr.jp:/usr/obj/usr/src/sys/NAKAJI i386
>Description:
As reported in freebsd-x11 list by Satoshi Kimura,
http://lists.freebsd.org/pipermail/freebsd-x11/2004-September/000874.html,
XFree86 4.4.0 has a problem about keyboard on pc98. For example, CTRL,
GRPH, and left-Shift key cannot be used because keycode is different.
This problem itself is a bug of XFree86.
>How-To-Repeat:
On pc98, install x11-servers/XFree86-4-Server and execute X
server.
>Fix:
One additional patch in files directory is enough. I hope this
can be imported into 5.3-RELEASE. The patch itself is posted as
patch.kbd.gz by Satoshi Kimura to freebsd-x11 at freebsd.org. Thanks.
diff -urN -x CVS /usr/ports/x11-servers/XFree86-4-Server/files/patch-programs::Xserver::hw::xfree86::common::xf86Events.c ./files/patch-programs::Xserver::hw::xfree86::common::xf86Events.c
--- /usr/ports/x11-servers/XFree86-4-Server/files/patch-programs::Xserver::hw::xfree86::common::xf86Events.c Thu Jan 1 09:00:00 1970
+++ ./files/patch-programs::Xserver::hw::xfree86::common::xf86Events.c Mon Sep 20 21:38:49 2004
@@ -0,0 +1,31 @@
+--- programs/Xserver/hw/xfree86/common/xf86Events.c.org Mon May 3 22:33:43 2004
++++ programs/Xserver/hw/xfree86/common/xf86Events.c Sun May 23 16:55:53 2004
+@@ -544,6 +544,7 @@
+ } else
+ #endif /* i386 && SVR4 */
+ {
++ if (!xf86IsPc98()) {
+ switch (scanCode) {
+ case 0x59: scanCode = KEY_0x59; break;
+ case 0x5a: scanCode = KEY_0x5A; break;
+@@ -574,6 +575,7 @@
+ case 0x75: scanCode = KEY_0x75; break;
+ case 0x76: scanCode = KEY_0x76; break;
+ }
++ } /* end if (!xf86IsPc98()) */
+ }
+ }
+
+@@ -655,10 +657,12 @@
+ * they need to get the same key code as the base key on the same
+ * physical keyboard key.
+ */
++ if (!xf86IsPc98()) {
+ if (scanCode == KEY_SysReqest)
+ scanCode = KEY_Print;
+ else if (scanCode == KEY_Break)
+ scanCode = KEY_Pause;
++ }
+ #endif
+
+ /*
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list