Кто-нибудь знает, как включить/выключить блокировку прописных букв в Python?

StackOverflow https://stackoverflow.com/questions/2353112

Вопрос

Я пытаюсь включить/выключить блокировку прописных букв, когда две кнопки переключения удерживаются нажатыми в течение секунды.Я пробовал использовать модуль 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.Видеть эта почта на СУ например.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top