IGEL J: Mouse Button and Keyboard Auto Repeat Problems, Xorg 6.9.0

Roman Fietze rfx at fietze-home.de
Fri Feb 2 12:00:29 PST 2007


I managed to boot my 4 IGEL J X-Terminals using Etherboot on the DOC
into LTSP-4.2, wich currently uses Xorg 6.9.0.

But now I've got the following problems:

- Setting the keyboard auto repeat delay/rate to anything else than
  660/25 (the default), I will get many, many key presses even when
  trying to hit the key for a very short moment.

- Mouse button clicks are not working as expected. I cannot get double
  clicks working except when I click very, very quickly. So I cannot
  select words e.g. in xterm or emacs or open dialogs in gimp. Single
  short clicks do not leave a menu open after the button release
  (e.g. gimp) as if the mouse button was held down for a much longer

Maybe both problems are related.

Warning: here comes some longer description of the problem and the system.

I wrote a small X11 test programm to calculates the length of button
clicks. I use gettimeogday() to get the wall clock time when the event
arrives, and second, the time field inside the ButtonEvent.

I ran the program using the X server of my SUSE (10.2, Xorg and the IGEL. The program itself alsways ran on the SUSE

The press->release times calculated using gettimeofday() perfectly
match the expected lengths of about 60-120ms per click on *both* X

On my console X server (SUSE 10.2, Xorg the time field
also always matches. But on the IGEL (LTSP-4.2) I sometimes get
correct timings, but sometimes I get values around 500-1100ms.

The reason seems to be, that the time in the events from the IGEL X
server (they should be milliseconds) runs faster than the wall clock
time or system time. I printed all the measured and read times
adjusted by the time of the first button press. On the SUSE box both
times match again (error <2ms), on the IGEL the event.time field is
faster than the wall clock time:

          gettimeofday()       .time

   Press: wall clock=    0ms, event=    0 ms
 Release: wall clock=   35ms, event=  515 ms
   Press: wall clock=  800ms, event= 1772 ms
 Release: wall clock=  842ms, event= 2291 ms
   Press: wall clock= 1560ms, event= 3991 ms
 Release: wall clock= 1605ms, event= 4502 ms
   Press: wall clock= 2264ms, event= 5653 ms
 Release: wall clock= 2299ms, event= 6168 ms
   Press: wall clock= 2960ms, event= 6829 ms
 Release: wall clock= 3016ms, event= 7378 ms
   Press: wall clock= 3644ms, event= 8008 ms
 Release: wall clock= 3693ms, event= 8550 ms
   Press: wall clock= 4348ms, event= 9208 ms
 Release: wall clock= 4407ms, event= 9758 ms
   Press: wall clock= 5040ms, event=10876 ms
 Release: wall clock= 5120ms, event=10957 ms
   Press: wall clock= 5756ms, event=11594 ms
 Release: wall clock= 5792ms, event=11630 ms
   Press: wall clock= 6388ms, event=12226 ms
 Release: wall clock= 6430ms, event=13220 ms

The follwoing list has the time press->release as measured using
gettimeofday() in the first column. The list behind the colon are the
times calculated using the .time field of the event.

Press->Release Times

35: 515 515
36: 36
42: 994
43: 519
45: 511
49: 542
56: 549
59: 550
81: 81

As you can see, sometimes the times match, sometimes they are way
off. On the SUSE box all times match again with a maximum error of
about 2-3 milliseconds on an unloaded system and network.

The IGEL is a SiS 530/620 with a AMD K6-II CPU. Keyboard and mouse are
good ol' PS/2.



Section "InputDevice"
  Driver       "keyboard"
  Identifier   "Keyboard[0]"
  Option       "Protocol" "Standard"
  Option       "XkbLayout" "us"
  Option       "XkbModel" "pc104"
  Option       "XkbRules" "xfree86"
  Option       "AutoRepeat" "660 25"

Section "InputDevice"
  Driver       "mouse"
  Identifier   "Mouse[1]"
  Option       "Device" "/dev/input/mice"
  Option       "Name" "PS/2 Logitech Mouse"
  Option       "Protocol" "explorerps/2"
  Option       "Vendor" "Sysp"

Any help? This behaviour almost makes my IGELs hard to handle.


Roman Fietze                          rfx at fietze-home.de
My public key is on http://www.fietze-home.de/index.html

More information about the xorg mailing list