Ключевое событие 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.

Другие вопросы по тегам