Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 Feb 2005 18:30:24 GMT
From:      Dejan Lesjak <dejan.lesjak@ijs.si>
To:        freebsd-x11@FreeBSD.org
Subject:   Re: ports/77217: x11-servers/xorg-server has keyboard problem on pc98
Message-ID:  <200502081830.j18IUO4V018017@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/77217; it has been noted by GNATS.

From: Dejan Lesjak <dejan.lesjak@ijs.si>
To: freebsd-gnats-submit@freebsd.org, nakaji@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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502081830.j18IUO4V018017>