I\'ve been running a small script like this
from Tkinter import *
root = Tk()
def callback(event):
print \"callback\"
w = Canvas(root, width=300, height
Key bindings only fire when the widget with the keyboard focus gets a key event. The canvas by default does not get keyboard focus. You can give it focus with the focus_set method. Typically you would do this in a binding on the mouse button.
Add the following binding to your code, then click in the canvas and your key bindings will start to work:
w.bind("<1>", lambda event: w.focus_set())