Pergunta

Estou tentando atingir o bloqueio de tampas quando os dois botões de turno são retidos por um segundo. Eu tentei usar o módulo Virtkey, mas não está funcionando. Esse módulo funciona para outras chaves, então não acho que estou usando o módulo incorretamente.

Alguém tem uma maneira de fazer isso?

Só para deixar claro, eu quero realmente atingir as tampas de bloqueio e não apenas o LED.

Obrigado!

Foi útil?

Solução

Isso funciona para mim (liga e desligam o LED, além de ativar/desativar as tampas)

import virtkey

v = virtkey.virtkey()
v.press_keycode(66)
v.release_keycode(66)  # first release doesn't release it
v.release_keycode(66)

Aqui estão mais alguns exemplos

v.press_keycode(66)    # turns capslock on
v.release_keycode(66)
v.press_keycode(66)    # turns capslock off
v.release_keycode(66)

Você também pode obter uma alternância como um comportamento apenas usando release_keycode

v.release_keycode(66)  # toggles capslock
v.release_keycode(66)  # toggles back again capslock

Outras dicas

Coisa engraçada. Eu experimentei Virtkey no intérprete, e parecia que estava funcionando. Depois de ligar press_keycode(50), minha máquina age como Caps Lock foi pressionada (Ubuntu 9.10, Python-Virtkey .50ubuntu2). Se eu lançar a chave- release_keycode(50)- Ele age como se nada tivesse acontecido.

import virtkey

v = virtkey.virtkey()
v.press_keycode(50)

Se executado como um script, sai da tecla CAPS pressionada para uma guia Terminal virtual. Muito irritante.

Você já olhou para o comando xvkbd? É um teclado virtual X com opções de linha de comando e, na pior das hipóteses, você pode chamá -lo de Python. Outra idéia a serem analisada é o XMODMAP, que permite re-mapa as teclas em X. Veja esta postagem no SU, por exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top