Mouse Buttons- should KDE provide a GUI to "fix" faulty button numbers?

Rick Stockton rickstockton at
Sat Feb 5 00:47:09 CET 2011

Background for my question:

Different mice, even different mice from the SAME manufacturer, 
sometimes emit different X11 Button numbers for the same button. For 
example, the tilt wheel on Logitech's V220 emits Button6 for "Scroll 
Left" and Button7 for "Scroll Right" -- while Logitech's LX6 emits 
Button11 for "Left" and Button12 for "Right".

KDE currently provides a little GUI for users to designate whether their 
mouse is "Left handed" or "Right handed". (It swaps the interpretation 
of Button1 versus Button3). In some hardware, sold as "left handed" the 
buttons are already correct, and the user has no need of the GUI. But in 
any case, it's very simple- it merely toggles these two specific button 

It's clear that the problem with higher-numbered buttons must be 
resolved somewhere. And currently, Qt implements Button6 as 
"Scroll-Left" and Button7 as "Scroll-Right", HARD-CODED, in the 
generation of wheel events (versus "normal" ButtonPress and 
ButtonRelease events). So, unless we provide a KDE Button Mapper (with 
matching Getter/Setter methods mapping in Qt, and give it a listener for 
RAW X11 button events (in the manner of "xev | grep -i button"), then 
users will need to push their mouse configuration work all the way down 
into X11. That would be "xinput list", "xinput set-button-map", or 
xorg.conf, with detection via xev. I'd ignore HAL in this doco, because 
everyone hates it and wants it to go away ASAP. ;)


Should we add an enhanced Button Mapper as part of this project? My vote 
is YES, because
   (1) as currently happens with "left hand" versus "right hand", some 
users might have different preferences (while running aginast the same 
X11) for higher-numbered "regular" buttons.
   (2) On the web, advice to configure extra mouse buttons is a total 
mess, suggesting imwheel WITH evdev, and so on.
   (3) It becomes a notable feature for KDE, in contrast with other 
desktops. They make you do it all the old way, hunting through 
/proc/bus/interfaces/devices, editing xorg.conf or .fdi files, and so 
on.       NOT friendly!

Question 2: Should we push the user-selected map down to only Qt, or all 
the way down to X11?

- - - -
Thanks in advance for your opinions.

More information about the Plasma-devel mailing list