Index: kbd.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/input/keyboard/kbd.c,v --- kbd.c 2005/07/11 02:38:00 1.15 +++ kbd.c 2005/07/13 12:30:04 @@ -553,6 +553,19 @@ if (xf86inSuspend) return; + if (pKbd->sunKbd) { + /* + * XXX XXX XXX: + * + * I really don't know what's wrong here, but passing the real + * scanCode offsets by one from XKB's point of view. + * + * (ecd@skynet.be, 980405) + */ + scanCode--; + goto sunKeyboards; + } + /* * First do some special scancode remapping ... */ @@ -616,6 +629,7 @@ } #endif +sunKeyboards: /* * Now map the scancodes to real X-keycodes ... */