On Thu, Feb 09, 2012 at 09:04:31PM +0100, Michael Lange wrote: > now I am getting confused ;)
Welcome to the club. ;] > When I run the above example (or the one by the OP) and press Alt-s, > nothing is inserted in the entry, and that is just what I would expect > as of the widget's default bindings, or am I missing something here? That was my original expectation, I'm trying to solve why the implementation does not match. > The default bindings are defined in entry.tcl, the relevant part looks > like: > > # Ignore all Alt, Meta, and Control keypresses unless explicitly bound. > # Otherwise, if a widget binding for one of these is defined, the > # <KeyPress> class binding will also fire and insert the character, > # which is wrong. Ditto for Escape, Return, and Tab. > > bind Entry <Alt-KeyPress> {# nothing} I see these comments, however they don't exclude Mod1, just alt and other modifiers. > > Now, when I comment out the above line and run the examples, the "s" is > actually inserted in the entry. Russell, is it possible that you miss > entry.tcl or that it is somehow broken? This would explain why the "s" > is inserted when Mod1 is used - but unfortunately not why Alt is not > working :( See below. > I still suspect the WM... ;) I don't believe it's the WM. Awesome is minimal unlike something like KDE or GNOME. I don't control keyboard mappings from it, only xmodmap. So here's a rundown. If I reset my keyboard mappings using setxkbmap, my xmodmap looks like: $ xmodmap xmodmap: up to 4 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), Control_L (0x42), Control_R (0x69) mod1 Alt_L (0x40), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) My .Xmodmap: $ cat .Xmodmap keycode 108 = Alt_R Meta_R ISO_Level3_Shift add mod4 = Alt_R After applying: $ xmodmap xmodmap: up to 5 keys per modifier, (keycodes in parentheses): shift Shift_L (0x32), Shift_R (0x3e) lock control Control_L (0x25), Control_L (0x42), Control_R (0x69) mod1 Alt_L (0x40), Meta_L (0xcd) mod2 Num_Lock (0x4d) mod3 mod4 Alt_R (0x6c), Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf) mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb) I just tested this TCL snippet, and when I reset it works, when I use the xmodmap for making Alt_R mod4 it doesn't work. How odd, so digging deeper. The following is from xev: Reset, pressing just s: KeyPress event, serial 25, synthetic NO, window 0x3400001, root 0xac, subw 0x0, time 51186823, (561,583), root:(650,603), state 0x0, keycode 39 (keysym 0x73, s), same_screen YES, XLookupString gives 1 bytes: (73) "s" XmbLookupString gives 1 bytes: (73) "s" XFilterEvent returns: False After xmodmap, pressing s: KeyPress event, serial 28, synthetic NO, window 0x3400001, root 0xac, subw 0x0, time 51276203, (609,741), root:(698,761), state 0x0, keycode 39 (keysym 0x73, s), same_screen YES, XLookupString gives 1 bytes: (73) "s" XmbLookupString gives 1 bytes: (73) "s" XFilterEvent returns: False Reset, pressing Alt-s: KeyPress event, serial 28, synthetic NO, window 0x3400001, root 0xac, subw 0x0, time 51190045, (561,583), root:(650,603), state 0x8, keycode 39 (keysym 0x73, s), same_screen YES, XLookupString gives 1 bytes: (73) "s" XmbLookupString gives 1 bytes: (73) "s" XFilterEvent returns: False After xmodmap, pressing Alt-s: KeyPress event, serial 28, synthetic NO, window 0x3400001, root 0xac, subw 0x0, time 51277296, (609,741), root:(698,761), state 0x8, keycode 39 (keysym 0x73, s), same_screen YES, XLookupString gives 1 bytes: (73) "s" XmbLookupString gives 1 bytes: (73) "s" XFilterEvent returns: False The xev data is identical, whether I'm using my xmodmap or not. The Tk behavior *IS* different, without xmodmap Alt works, and with it only Mod1 is honored. Getting closer to an answer, but still trying to explain the behavior. Does this mean that when Alt_R is bound to anything, the Alt_L behavior changes? Any why only for Tk? Thanks. ------------------------------------------------------------------ Russell Adams rlad...@adamsinfoserv.com PGP Key ID: 0x1160DCB3 http://www.adamsinfoserv.com/ Fingerprint: 1723 D8CA 4280 1EC9 557F 66E8 1154 E018 1160 DCB3 _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org http://mail.python.org/mailman/listinfo/tkinter-discuss