Ключевое событие Tkinter Windows
Какое событие для ключа Windows в Tkinter? Я использую Linux, но я хотел бы получить ответы как для Linux, так и для Windows. Если у Mac есть подобный ключ, не стесняйтесь сообщить мне об этом. Я представляю различные события для клавиш левого и правого окон.
Клавиша Windows, кажется, не регистрируется в моей программе, которая должна отлавливать все нажатия клавиш и выводить их на экран. Я не видел ответа в моих поисках онлайн. Я видел ссылки на Mod4, связанные с ключом Windows, но это неправильное событие Tkinter (так говорит моя ошибка):
_tkinter.TclError: bad event type or keysym "Mod4"
Например, следующий код получает вышеуказанную ошибку.
textWidget.bind("<Mod4>", self.myFunction)
2 ответа
Хорошо, я нашел ответ. Это было довольно просто, и я не знаю, почему я не мог найти его в Интернете нигде.
Событие называется Super_L
(для левой клавиши Windows в Linux). Правильный ключ Windows Super_R
, Я не знаю, работают ли эти события на Windows и Mac, хотя.
Во всяком случае, причина, по которой мой искатель нажатия клавиши события не нашел его, заключалась в том, что у меня при запуске компьютера был запущен скрипт, который определял клавишу compose как левую клавишу Windows. Таким образом, он не зарегистрировался по какой-то причине.
После некоторых копаний я нашел это: https://www.tcl.tk/man/tcl8.6/TkCmd/keysyms.htm Вот эти: <Win_L>
, <Win_R>
Похоже, что правильные ключи для Windows. Протестировано в Python 3.4 на Win7.