пишу на Python + PyQt4, необходимо сделать хоткеи, которые работали бы даже когда приложение свёрнуто в трей (т.е. ниодно из его окон не в фокусе).
пока что додумался взять python-xlib и сделать такое:
from Xlib.display import Display
disp = Display()
root = disp.screen().root
root.change_attributes(event_mask = X.KeyPressMask)
и дальше для каждой кнопки такое:
root.grab_key(keycode, X.Mod4Mask, True, X.GrabModeAsync, X.GrabModeAsync)
хоткеи при этом назначаются, но если включить Num Lock, они перестают работать.
решил выполнением вот этого для каждой кнопки:
root.grab_key(keycode, X.Mod4Mask | 1<<4, True, X.GrabModeAsync, X.GrabModeAsync)
внимание на второй аргумент: | 1<<4 - подобрано случайным образом.
после этого хоткеи работают и при включеном Num Lock, но при запуске программы получаю много ошибок такого вида:
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 316, sequence_number = 11, major_opcode = 33, minor_opcode = 0
расскажите как правильно такое делается.
Ответ на:
комментарий
от Davidov
Ответ на:
комментарий
от anotheranonymous
Ответ на:
комментарий
от LamerOk
Ответ на:
комментарий
от friday
Ответ на:
комментарий
от LamerOk
Ответ на:
комментарий
от Begemoth
Ответ на:
комментарий
от a3
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Глобальные хоткеи в Gnome (2009)
- Форум Правильно обрабатывать глобальный хоткей в иксах. Как? (2015)
- Форум Глобальные хоткеи в xcb (2013)
- Форум Tkinter + потоки (2016)
- Форум Как создать глобальные хоткеи через gtk+? (2012)
- Форум можео ли заставить kde съедать глобальные хоткеи? (2020)
- Форум [мы идиоты][внезапно][опять] Всплывающие меню + глобальные хоткеи = ? (2011)
- Форум kde: назначить глобально хоткей на регулировку громкости звука (2007)
- Форум хоткеи (2009)
- Форум хоткеи (2008)