Search code examples
pythonkey-bindings

How to bind Ctrl+/ in python tkinter?


<Control-Shift-Key-0>
<Control-Key-plus>

works but

<Control-Key-/>

doesn't.

I am unable to bind ctrl + / in python. Is there any documentation of all the possible keys?


Solution

  • Use <Control-slash>:

    def quit(event):
        print "you pressed control-forwardslash"
        root.quit()
    
    root = tk.Tk()
    root.bind('<Control-slash>', quit)      # forward-slash
    # root.bind('<Control-backslash>', quit)  # backslash
    root.mainloop()
    

    I don't have a link to a complete list of these event names. Here is a partial list I've collected:

    | event                 | name                  |
    | Ctrl-c                | Control-c             |
    | Ctrl-/                | Control-slash         |
    | Ctrl-\                | Control-backslash     |
    | Ctrl+(Mouse Button-1) | Control-1             |
    | Ctrl-1                | Control-Key-1         |
    | Enter key             | Return                |
    |                       | Button-1              |
    |                       | ButtonRelease-1       |
    |                       | Home                  |
    |                       | Up, Down, Left, Right |
    |                       | Configure             |
    | window exposed        | Expose                |
    | mouse enters widget   | Enter                 |
    | mouse leaves widget   | Leave                 |
    |                       | Key                   |
    |                       | Tab                   |
    |                       | space                 |
    |                       | BackSpace             |
    |                       | KeyRelease-BackSpace  |
    | any key release       | KeyRelease            |
    | escape                | Escape                |
    |                       | F1                    |
    |                       | Alt-h                 |