Тоже очень интересует этот вопрос. Если есть решение, сбросьте сюда в комментарии код на питоне.
P.S.(через два дня) Решил вопрос.
import win32api
import pythoncom
import pyHook
def OnKeyboardEvent(event):
# проверяем статусы клавиш-модификаторов
# возвращаемые значения:
# 0 или 1 - клавиша отжата
# (-127) или (-128) - клавиша нажата
ALT = win32api.GetKeyState(0x12) #
CTRL = win32api.GetKeyState(0x11)
SHIFT = win32api.GetKeyState(0x10)
LWIN = win32api.GetKeyState(0x5B)
HOME = win32api.GetKeyState(0x24)
if event.Key=='Home' and event.MessageName == 'key down':
if CTRL<0 and SHIFT<0 and ALT<0:
print('Нажата комбинация клавиш CTRL+SHIFT+ALT+HOME')
elif CTRL<0 and SHIFT<0:
print('Нажата комбинация клавиш CTRL+SHIFT+HOME')
elif ALT<0 and SHIFT<0:
print('Нажата комбинация клавиш SHIFT+ALT+HOME')
elif CTRL<0 and ALT<0:
print('Нажата комбинация клавиш CTRL+ALT+HOME')
elif CTRL<0:
print('Нажата комбинация клавиш CTRL+HOME')
elif SHIFT<0:
print('Нажата комбинация клавиш SHIFT+HOME')
else:
print('Нажата клавиша HOME')
return True
hm = pyHook.HookManager() # создание экземпляра класса HookManager
hm.KeyAll = OnKeyboardEvent # отслеживаем нажатия клавиш
hm.HookKeyboard() # вешаем хук
pythoncom.PumpMessages() # ловим сообщения
Проверял на Win7, python 3.3.
Помог этот
пост,
таблица виртуальных кодов клавиш и документация по
win32api и
pyHook.