pygtk: решите, что ключ является модификатором

У меня есть обработчик ключевых пресс-мероприятий, и я должен определить, какой вид ключа был нажат: модификатор или нет?

Это не находится в event.state, потому что это полевые работы только, когда модификатор был нажат с чем-то еще, но мне нужно это для единственного ключа (т.е. просто нажимающий управление или высокий звук...).

6
задан unwind 28 January 2010 в 15:51
поделиться

2 ответа

Если ваша версия GTK + / PYGTK достаточно недавно, ключевые события имеют атрибут IS_Modifier . Он не задокументирован в ссылке PYGTK, но это в документации API GDK и выставлена ​​через PYGTK. Он был добавлен в GDK 2.10.

4
ответ дан 17 December 2019 в 02:28
поделиться

Вы найдете то, что вы ищете в Events.kyVal. Например, следующий код работает для меня:

def key_press_event(widget, event):
    keyname = gtk.gdk.keyval_name(event.keyval)
    if "Control" in keyname or "Alt" in keyname:
        print "You pressed a modifier!"
2
ответ дан 17 December 2019 в 02:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: