Found out more!!

It works OK after reconnect, because the X input subsystem only sees the
TouchPad (not the Stick) then. But both pointers work when used, so the
TouchPad obviously sends also the Stick events (like a repeater):

This is xinput before reconnect:

"Virtual core pointer"  id=0    [XPointer]
        Num_buttons is 32
        Num_axes is 2
        Mode is Relative
        Motion_buffer is 256
        Axis 0 :
                Min_value is -1
                Max_value is -1
                Resolution is 0
        Axis 1 :
                Min_value is -1
                Max_value is -1
                Resolution is 0
"Virtual core keyboard" id=1    [XKeyboard]
        Num_keys is 248
        Min_keycode is 8
        Max_keycode is 255
...
"AlpsPS/2 ALPS DualPoint TouchPad"      id=8    [XExtensionPointer]
        Type is TOUCHPAD
        Num_buttons is 12
        Num_axes is 2
        Mode is Relative
        Motion_buffer is 256
        Axis 0 :
                Min_value is 0
                Max_value is 1023
                Resolution is 1
        Axis 1 :
                Min_value is 0
                Max_value is 767
                Resolution is 1
"DualPoint Stick"       id=10   [XExtensionPointer]
        Type is MOUSE
        Num_buttons is 5
        Num_axes is 2
        Mode is Relative
        Motion_buffer is 256
        Axis 0 :
                Min_value is -1
                Max_value is -1
                Resolution is 1
        Axis 1 :
                Min_value is -1
                Max_value is -1
                Resolution is 1

See? Both devices are there, but when used simultaneously, they wreak
havoc. So I force reconnect by using Stick and TouchPad at the same time
for roughly 2 secs. I get this:

[ 3296.298172] psmouse.c: issuing reconnect request
[ 3297.452170] alps.c: Failed to enable absolute mode
[ 3298.512298] input: PS/2 ALPS DualPoint TouchPad as 
/devices/platform/i8042/serio1/input/input19

And now xinput looks like this:

"Virtual core pointer"  id=0    [XPointer]
        Num_buttons is 32
        Num_axes is 2
        Mode is Relative
        Motion_buffer is 256
        Axis 0 :
                Min_value is -1
                Max_value is -1
                Resolution is 0
        Axis 1 :
                Min_value is -1
                Max_value is -1
                Resolution is 0
"Virtual core keyboard" id=1    [XKeyboard]
        Num_keys is 248
        Min_keycode is 8
        Max_keycode is 255
...
"PS/2 ALPS DualPoint TouchPad"  id=8    [XExtensionPointer]
        Type is MOUSE
        Num_buttons is 5
        Num_axes is 2
        Mode is Relative
        Motion_buffer is 256
        Axis 0 :
                Min_value is -1
                Max_value is -1
                Resolution is 1
        Axis 1 :
                Min_value is -1
                Max_value is -1
                Resolution is 1

See? The Stick isn't there. Bot now both the TouchPad and the Stick
work, there are no lost syncs any more and I can use them both
simultaneously.

I think the problem is the TouchPad works also like a repeater for the
Stick and when there is a Stick stand-alone + Stick repeated it causes
troubles. If we could turn off TouchPad's repeater mode, I think the
whole thing would be stable!

What do you think?

-- 
ALPS DualPoint Touchpad flaky performance
https://bugs.launchpad.net/bugs/296610
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to