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