--- kbd.c- 2004-12-16 03:38:45.000000000 +0000 +++ kbd.c 2005-07-15 04:08:48.000000000 +0000 @@ -541,6 +541,20 @@ 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 ... */ @@ -602,6 +616,7 @@ scanCode = KEY_Pause; #endif +sunKeyboards: /* * Now map the scancodes to real X-keycodes ... */