Кто-нибудь знает, как включить/выключить блокировку прописных букв в Python?
Вопрос
Я пытаюсь включить/выключить блокировку прописных букв, когда две кнопки переключения удерживаются нажатыми в течение секунды.Я пробовал использовать модуль virtkey, но он не работает.Однако этот модуль работает и с другими ключами, поэтому я не думаю, что использую его неправильно.
Есть ли у кого-нибудь способ сделать это?
Чтобы внести ясность: я хочу включить/выключить блокировку прописных букв, а не только светодиод.
Спасибо!
Решение
У меня это работает (включает и выключает светодиод, а также включает/отключает заглушки)
import virtkey
v = virtkey.virtkey()
v.press_keycode(66)
v.release_keycode(66) # first release doesn't release it
v.release_keycode(66)
Вот еще несколько примеров
v.press_keycode(66) # turns capslock on
v.release_keycode(66)
v.press_keycode(66) # turns capslock off
v.release_keycode(66)
Вы также можете получить поведение, подобное переключению, просто используя Release_keycode
v.release_keycode(66) # toggles capslock
v.release_keycode(66) # toggles back again capslock
Другие советы
Забавная вещь.Я попробовал virtkey в интерпретаторе, и мне показалось, что он работает.После звонка press_keycode(50)
, моя машина ведет себя так, как будто нажата клавиша Caps Lock (Ubuntu 9.10, python-virtkey .50ubuntu2).Если я отпущу клавишу- release_keycode(50)
- ведет себя так, как будто ничего не произошло.
import virtkey
v = virtkey.virtkey()
v.press_keycode(50)
при запуске как скрипт оставляет нажатой клавишу Caps для вкладки виртуального терминала.Очень надоедливый.
Вы изучали команду xvkbd?Это виртуальная клавиатура X с параметрами командной строки, и в худшем случае вы можете вызвать ее из Python.Еще одна идея, на которую стоит обратить внимание, — это xmodmap, который позволяет переназначать ключи в X.Видеть эта почта на СУ например.