Hi,

What kernel version are you running? I know there was a patch in 2.4.21 that caused a problem with some keyboards but was supposed to fix problems with other keyboards, you might want to take a look at "keyboard.c fix in 2.4.21 breaks my (buggy?) keyboard" in the lkml archives for July. The post was referring to a problem with the ctrl key getting stuck on his system which was especially troublesome with X. It's possible the patch that caused the problem for him would solve your problem...

The original patch is:

diff -urN linux-2.4.20/drivers/char/keyboard.c linux-2.4.21/drivers/char/keyboard.c
--- linux-2.4.20/drivers/char/keyboard.c        2002-08-02 17:39:43.000000000 -0700
+++ linux-2.4.21/drivers/char/keyboard.c        2003-06-13 07:51:33.000000000 -0700
@@ -213,7 +215,17 @@
       }
       kbd = kbd_table + fg_console;
       if ((raw_mode = (kbd->kbdmode == VC_RAW))) {
-               put_queue(scancode | up_flag);
+               /*
+                *      The following is a workaround for hardware
+                *      which sometimes send the key release event twice
+                */
+               unsigned char next_scancode = scancode|up_flag;
+               if (up_flag && next_scancode==prev_scancode) {
+                       /* unexpected 2nd release event */
+               } else {
+                       prev_scancode=next_scancode;
+                       put_queue(next_scancode);
+               }
               /* we do not return yet, because we want to maintain
                  the key_down array, so that we have the correct
                  values when finishing RAW mode or when changing VT's */


This patch won't apply to 2.4.18 and probably not 2.4.19 either (stock SuSE 8.1), but you could add it to keyboard.c manually if you don't want to change from the SuSE kernel to a vanilla 2.4.21 kernel. Of course I'm not anything of an expert so maybe someone else has an easier solution. I just remembered reading about this on the lkml and thought it might help.


Good luck,

Wes





Nathan Fain wrote:

This happens on about half of our SuSE 8.1 systems (that have the same
configuration) anyone noticed this problem?  I've run sax2 several times
now changing the keyboard defintions without hope.

System Details:
SuSE 8.1 with the SuSE X4.3.0 and the kde 3.1.1 rpms from suse.com

xf86config:
Section "InputDevice"
 Driver       "Keyboard"
 Identifier   "Keyboard[0]"
 Option       "MapName" "Standard Keyboard [ pc104 ]"
 Option       "Protocol" "Standard"
 Option       "XkbLayout" "us"
 Option       "XkbModel" "pc104"
 Option       "XkbRules" "xfree86"
EndSection


Have also tried pc101 with the same problem still happening.






_______________________________________________
XFree86 mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xfree86


_______________________________________________ XFree86 mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/xfree86

Reply via email to