ports/116443: x11-drivers/xf86-input-keyboard patch for USB jp106 keyboard

Yamashiro Jun yamajun at ofug.net
Tue Sep 18 17:30:03 UTC 2007


>Number:         116443
>Category:       ports
>Synopsis:       x11-drivers/xf86-input-keyboard patch for USB jp106 keyboard
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 18 17:30:02 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Yamashiro Jun
>Release:        FreeBSD 6.2-STABLE
>Organization:
Okinawa FreeBSD Users Group
>Environment:
FreeBSD base.mydomain 6.2-STABLE FreeBSD 6.2-STABLE #50: Wed Jul 18 13:15:37 PDT 2007     root at pcbsd:/usr/obj/usr/src/sys/PCBSD  i386
>Description:
In Xorg on FreeBSD with USB Japanese 106/109 keyboard(jp106), 
these key aren't work.

1) Henkan_Mode(KEY_XFER)
2) Hiragana_Katakana(KEY_HKTG)
3) backslash / underscore(KEY_BSlash2)

I made a patch for x11-driver/xf86-input-keyboard.  But this is hack.
I don't know why need magic number(0x58) for KEY_HKTG and KEY_BSlash2.

I tested with these keyboard:
USB Japanese 109 keyboard
PS/2 Japanese 109 keyboard(Laptop)
USB US keybaord(HHK Lite)

>How-To-Repeat:
Rename attached patch file to 
x11-drivers/xf86-input-keyboard/files/patch-at_scancode.c

>Fix:


Patch attached with submission follows:

--- src/at_scancode.c.orig	Mon Sep 17 13:19:03 2007
+++ src/at_scancode.c	Wed Sep 19 00:41:38 2007
@@ -103,6 +103,9 @@
             case 0x5b:            *scanCode = KEY_LMeta;     break;
             case 0x5c:            *scanCode = KEY_RMeta;     break;
             case 0x5d:            *scanCode = KEY_Menu;      break;
+            case 0x1e:            *scanCode = KEY_XFER;      break;  /* [FreeBSD jp106usb] Henkan */
+            case 0x61:            *scanCode = KEY_HKTG + 0x58; break;  /* [FreeBSD jp106usb] Hiragana/Katakana toggle */
+            case 0x64:            *scanCode = KEY_BSlash2 + 0x58; break;  /* [FreeBSD jp106usb] backslash / underscore */
             case KEY_F3:          *scanCode = KEY_F13;       break;
             case KEY_F4:          *scanCode = KEY_F14;       break;
             case KEY_F5:          *scanCode = KEY_F15;       break;


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list