Hi, I've found that Tkinter on Mac OS X somehow incorrectly works with events when bound sequence hit on non-US keyboard layout. I use Russian keyboard layout along with English and I'm trying now to arrange Undo/Redo shortcuts to work correctly independent of layout. Under Linux everything works fine from the box. Under OS X it seems like a bug and when I hit <Command-Cyrillic_ya> which is the same physical keys as <Command-z> tkinter sends excessive KeyPress event. Here is the test code. ================ from tkinter import *
class TkExample(Frame): def __init__(self, parent): Frame.__init__(self, parent) self.pack() text = Text(self) text.pack() text.bind('<KeyPress>', self.on_kp) text.bind('<<Undo>>', self.on_undo) def on_kp(self, event): print('CHAR:', event.char) def on_undo(self, event): print('UNDO') if __name__ == '__main__': root = Tk() TkExample(root) root.mainloop() ================ When I run the app and hit <Command-z> I get this output: CHAR: UNDO But if I hit <Command-Cyrillic_ya> I see this: CHAR: CHAR: z UNDO Under Linux in both cases I get the same output (1). Can anyone explain this? Maybe this is not a bug? -- Alexander Uvizhev uvi...@yandex.ru _______________________________________________ Tkinter-discuss mailing list Tkinter-discuss@python.org https://mail.python.org/mailman/listinfo/tkinter-discuss