Обнаружение комбинаций клавиш с помощью pyhook

В настоящее время я использую pyhook для захвата ключей с помощью события KeyDown диспетчера крючков. Это позволяет мне захватить все отдельные клавиши, нажатые на клавиатуре.

Однако я не смог найти способ захватить комбинации клавиш. Например, событие, когда Ctrl, Alt и 5 нажимаются одновременно, или [ и ] одновременно, и так далее.

Есть ли способ сделать это с помощью pyhook, который не требует дополнительных модулей? Например, я нашел pyhk, который, похоже, сделает job, но предпочел бы иметь как можно меньше зависимостей.

(Этот вопрос является более общей версией (не дубликатом) вопроса этот, для которого принятый ответ, по-видимому, имеет дело только с модификаторами виртуальных клавиш, такими как Ctrl.)


person John Lyon    schedule 13.08.2013    source источник
comment
Этот вопрос является более общей версией того, на который вы ссылались - см. последний абзац вопроса.   -  person John Lyon    schedule 14.08.2013
comment
Не все клавиатуры способны обрабатывать все возможные комбинации нескольких клавиш.   -  person Junuxx    schedule 14.08.2013


Ответы (1)


Я знаю, что это довольно старо, однако я делаю что-то подобное, используя событие отпускания клавиши окна:

def _cb_event(self,widget,event,data=None):
    keyval = event.keyval
    keyname = gtk.gdk.keyval_name(keyval)
    mod = gtk.accelerator_get_label(keyval,event.state)
    keys=mod.upper()
    if keys=='SHIFT+F12':
        etc....

Я не использовал pyhook для этого.

person smckellep    schedule 21.01.2020