Names to use for 'more mouse buttons' ?

Rick Stockton rickstockton at
Tue Aug 16 00:20:19 BST 2011

As you know already, here is the data field scheme:

There are two "available" bits within the current enum and flags. (Total 
width 16 bits; 15 usable without creating a risk of interpretation as a 
"sign" bit under certain compilers.) The first of these bits (x2000) is 
used for raw Button #10, AKA the "Task" Button.

But the second available bit x4000, will be used to repesent a special 
value of "button": "HigherButtonNumber". This value indicates that
    (A) the event was caused by a "raw" Button number of 11, OR GREATER; and
    (B) the 32-bit Button State Mask contains AT LEAST one such button.

But the Qt programmer will not have the actual Button number yet -- it 
must be obtained by calling a new get() function, because 
QMouseEvent::button() contains only "HigherButtonNumber."

---> What should be the name of this "upgraded" Qt::MouseButton enum, 
and it's corresponding flags? (It's 32 bits wide, and programmers COULD 
use the new one exclusively- the enum and function will handle all 
buttons, #0 thru #31. But for BC purposes, it has to be a different enum.)

---> How do I add corresponding 'buttonByNumber() functions? (getter and 
setter for use in test code). Or maybe -- as a matter of policy, does Qt 
want to insist on a wordy enumeration, instead of integer math?? If it 
is desirable what should the field name and function prototypes look like?

Do we agree that 3 mouse buttons in Qt5 is the WRONG roadmap, and that 
you'd like me to continue trying to work through this?? If so, I feel 
that 4.9 constitutes a good target. Once we have the buttons, we can do 
some awesome shortcut tools, and create impressive and UI Kewl-ness. 
Both within KDE, and within usercode written against the Qt and KDE 

If you all think that we're already "world class" with only 3 buttons, 
or 5 buttons, then please TELL ME: I'll shut up, go away, and stop 
wasting everyone's time with this "issue." I've asked for some coaching 
assistance several times, and the silence has been deafening -- if 
that's been intended as a message, please tell me the message more directly.

Thanks either way!

More information about the kde-core-devel mailing list