Jeremy Huddleston wrote:
On Aug 15, 2008, at 05:34, Martin Costabel wrote:
Look at the emulation of button2 via alt-click: If I press alt+some key, I get a KeyPress event with "state 0x2000", but alt+click gives a ButtonPress event with "state 0x0". This is as it should be.
You should not have state 0x2000 with alt. You should have 0x8, and there's no reason the states should be different. I'm not treating the two any differently.
Do you have a special ~/.Xmodmap (run 'xmodmap' at the terminal and tell me what it says)? What's your OSX keyboard layout?
I have a "US international" keyboard (that's the one with "~`" to the left of "z", and a superfluous "±§" key to the left of "1" where "~`" should be,). The "mouse button" is the trackpad button. "Click" means pressing this button. There is no ~/.Xmodmap. xmodmap says: costabel% xmodmap xmodmap: up to 2 keys per modifier, (keycodes in parentheses): shift Shift_L (0x40), Shift_R (0x44) lock Caps_Lock (0x41) control Control_L (0x43), Control_R (0x46) mod1 Mode_switch (0x42), Mode_switch (0x45) mod2 Meta_L (0x3f), Meta_R (0x47) mod3 mod4 mod5 To reiterate what I see with xev: The "alt" key gives status 0x2000 with other keys, for example: alt-a gives "state 0x2000, keycode 8 (keysym 0xe5, aring)", ctl-alt-a gives "state 0x2004, keycode 8 (keysym 0x61, a)" It gives "status 0x0" with mouse click, thus alt-click gives "state 0x0, button 2", and ctl-alt-click gives "state 0x4, button 2" This is the same in xquartz-2.3.0 and 2.3.1beta2 and, as far as I can tell, in all previous Leopard X11 versions. The only "novelty" in xquartz-2.3.0 was that it introduced a spurious ButtonRelease event when the button was not yet released. The "cmd" key gives status 0x10, for example: cmd-a gives "state 0x10, keycode 8 (keysym 0x61, a)", ctl-cmd-a gives "state 0x14, keycode 8 (keysym 0x61, a)". In previous versions of X11, up to xquartz-2.3.0, cmd-click gives "status 0x0, button 3", and ctl-cmd-click gives "state 0x4, button 3". In 2.3.1beta2, cmd-click gives "status 0x10, button 3", and ctl-cmd-click gives "state 0x14 button 3".
For cmd+some key, I get "state 0x10", and cmd+click gives "state 0x10", too, which is wrong. In all previous versions of Apple's or xquartz's X11 up to and including xquartz-2.3.0, it was "state 0x0".
It is correct that up to and including 2.3.0 it was state 0x0, but all those versions had a bug which I'm trying to address, the emulated button click was always a "modifier-release, down, up, modifier press" on the mouse-down. There was no way to "hold" button2 or button3. Yes,
No. This was the case *only* in 2.3.0, not in previous versions, up to 2.2.3. In Apple's X11 with "X.Org X Server 1.4.2-apple5", for example, I see the "modifier release, down" part on mouse down, but the "up, modifier press" part not before mouse up. I think this is how it has always been. The side effect in the old way is, of course, that if you press alt-click-a, you get "a" and not "alt-a = å". But who would do this anyway? -- Martin