Domanda

Sto cercando di attivare caps lock on / off quando i due bottoni di turno sono premuti per un secondo. Ho provato con il modulo virtkey, ma non sta funzionando. Questo modulo non funziona per altri tasti, però, quindi non credo che sto utilizzando il modulo in modo non corretto.

Qualcuno ha un modo per fare questo?

Giusto per essere chiari, voglio passare in realtà caps lock on / off e non solo il LED.

Grazie!

È stato utile?

Soluzione

Questo funziona per me (si gira il led e si spegne, così come abilitare / disabilitare le caps)

import virtkey

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

Ecco alcuni altri esempi

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

È inoltre possibile ottenere uno snodo come comportamento usando solo release_keycode

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

Altri suggerimenti

La cosa divertente. Ho dato una prova virtkey nell'interprete, e sembrava che stava lavorando. Dopo aver chiamato press_keycode(50), la mia macchina si comporta come Bloc Maiusc è stato premuto (Ubuntu 9.10, python-virtkey .50ubuntu2). Se rilascio l'release_keycode(50)- a chiave si comporta come nulla fosse accaduto.

import virtkey

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

se eseguito come uno script, lascia premuto per una scheda terminale virtuale la chiave tappi. Molto fastidioso.

Hai guardato nel comando xvkbd? Si tratta di una tastiera virtuale X con le opzioni della riga di comando, e nel peggiore dei casi si potrebbe chiamare in pitone. Un'altra idea di guardare in è xmodmap, che permette le chiavi si ri-mappa in X. Vedere questo post su sU per un esempio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top