KDE scrollbars react to the wrong mouse buttons

Erik sigra at home.se
Thu Apr 14 20:38:39 BST 2005


Andrew Kar wrote:

>On Wed, 13 Apr 2005 05:43 pm, Erik wrote:
>  
>
>>Yes it DOES indeed work. But only after I disabled the touchpad. But I
>>want them both.
>>    
>>
>
>And you didn't think mentioning you had a touchpad connected was important??
>Sheesh!
>  
>
I did, eventually.


>I presume this touchpad is not part of your 10 button monstrosity?
>
Yes, 10 buttons is a bit much. One can wonder wether it is a mouse or a
keyboard with an optical sensor under it. But I have read about mice
with 12 buttons.


>If separate do you mean it is part of a laptop or an external drawing 
>touchpad?
>  
>
Yes, part of a laptop. And it has 2 buttons.


>X can have as many pointer devices as your little heart desires but you do 
>need to configure them in X as separate pointer devices. If a laptop 
>mouse-touchpad things will depend on the quality and design of your system. 
>Some laptops allow pointers to run concurrently (from Xs point of view) and 
>some dont and have to be switched between. 
>  
>
I have only one mouse cursor on the display, but I can control it with
both mouse and touchpad at the same time. It is just that when I have
both, xmodmap is not able to swap buttons 4&5 with 9&10. I even had to
tell X that my touchpad has 10 buttons to  avoid an error from xmodmap ("").

>Next time supply system/distro info and include the two pointer sections from 
>Xxxxconf.  You may get away with one pointer section depending on the device 
>type.
>

Like I wrote in a reply to Jess Hall yesterday, I have Gentoo with
xorg-x11-6.8.2-r1.

Here follows the relevant parts of an xorg.conf that can handle both the
touchpad and the mouse, regardless which of the 2 USB connectors I
attach it to. (I clean it up with a script that contains grep -vE
"^[[:space:]]*(#|$)" /etc/X11/xorg.conf):

Section "InputDevice"
        Identifier "Touchpad"
        Driver "mouse"
        Option "Protocol" "PS/2"
        Option "Device"   "/dev/input/mouse0"
EndSection
Section "InputDevice"
        Identifier "Mouse in upper USB connector"
        Driver "mouse"
        Option "Protocol" "evdev"
        Option "Dev Phys" "usb-0000:00:1d.0-1/input0" # cat
/proc/bus/input/devices
        Option "Buttons" "10" # xev only sees buttons 1 .. 7 without this
        Option "ZAxisMapping" "9 10" # xev does not see buttons 9 .. 10
without this
EndSection
Section "InputDevice"
        Identifier "Mouse in lower USB connector"
        Driver "mouse"
        Option "Protocol" "evdev"
        Option "Dev Phys" "usb-0000:00:1d.1-1/input0" # cat
/proc/bus/input/devices
        Option "Buttons" "10" # xev only sees buttons 1 .. 7 without this
        Option "ZAxisMapping" "9 10" # xev does not see buttons 9 .. 10
without this
EndSection
Section "ServerLayout"
        Identifier "MobileLayout"
        Screen "LCDScreen"
        InputDevice "Keyboard" "CoreKeyboard"
        InputDevice "Touchpad" "CorePointer"
        InputDevice "Mouse in upper USB connector" "SendCoreEvents"
        InputDevice "Mouse in lower USB connector" "SendCoreEvents"
EndSection


The problems with this:
* The mouse has to be connected when X starts and remain connected while
X is running. Connecting it later does not work. Nor is it possible to
disconnecti it and reconnect it.
* The applications (KDE) does not handle the wheel correctly.
* I have to add 2 sections to make it work regardless of where I connect it.

When I try to give "pointer = 1 2 3 6 7 8 9 10 4 5" to xmodmap, it says
xmodmap:  commandline:0:  bad number of buttons, must have 3 instead of 10
xmodmap:  1 error encountered, aborting.


When I add Option "Buttons" "10" to the Touchpad section (YES, THE
TOUCHPAD), xmodmap does not produce this error message, but it still
fails to remap the buttons.

So for now I have to choose between the touchpad and the wheel. I am
sure that this could be handled much better, and it is probably handled
much better om other platforms. It should be possible to have all this
configured automatically, because the info is in
/proc/bus/input/devices. And it seems to be updated whenever something
is connected or disconnected. Thus Linux does it's job. It is X that is
insufficient.  The vendor code, product code and version code is there,
so X should just configure it according to a database of device
configurations. And if it can not find an entry for the device, X should
tell the user to create such an entry. But I would be happy anyway if I
could just get it all working, even if I have to configure it by hand.
___________________________________________________
This message is from the kde mailing list.
Account management:  https://mail.kde.org/mailman/listinfo/kde.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.




More information about the kde mailing list