установить функцию fn как обработчик нажатия клавиши с символьным обозначением key; если функция не указана, обработчик нажатия этой клавиши отключается; если не указана клавиша, устанавливается один обработчик на все клавиши; функция fn должна принимать один параметр – блок данных о событии; через поле keycode этого блока можно получить код нажатой клавиши:
def keyPressed(event):
if event.keycode == VK_LEFT:
move(obj, x-5, y)
Список кодов виртуальных клавиш, определенных в модуле graph.py:
VK_SPACE = 0x20
VK_PRIOR = 0x21 # PAGE UP key
VK_NEXT = 0x22 # PAGE DOWN key
VK_END = 0x23 # END key
VK_HOME = 0x24 # HOME key
VK_LEFT = 0x25
VK_UP = 0x26
VK_RIGHT = 0x27
VK_DOWN = 0x28
VK_INSERT = 0x2D # INS key
VK_DELETE = 0x2E # DELETE key
VK_BACK = 0x08 # BACKSPACE key
VK_TAB = 0x09 # TAB key
VK_RETURN = 0x0D # RETURN key
VK_ESCAPE = 0x1B # ESC key
Для того, чтобы выяснить коды и символьные обозначения клавиш, можно использовать такую программу:
import tkinter as tk
def __keyPress(event):
print("Key Press Event:")
print(" event.char:", event.char)
print(" event.keysym:", event.keysym)
print(" event.keycode:", event.keycode)
print(" event.keysym_num:", event.keysym_num)
root = tk.Tk()
root.bind("<KeyPress>", __keyPress)
tk.mainloop()