import sys import Tkinter as tk def my_print(*tuple): sys.stdout.write(' '.join(str(i) for i in tuple) + '\n') root = tk.Tk() frame = tk.Frame(root) frame.pack() text = tk.Text(frame) text.pack() text.focus_set() button = tk.Button(frame, text="Exit", command=root.destroy) button.pack() def fcn(event): my_print("*** event.keycode: ", event.keycode) my_print("*** event.state: ", event.state) try: my_print("*** event.char: ", event.char, hex(bytes(event.char)[0])) except: my_print("*** event.char: ", event.char) my_print('\n') text.bind("", fcn) my_print("*** binding: ", text.bind("")) text.bind('', fcn) root.mainloop()