2010-02-28 6 views
3

J'essaie d'activer/désactiver le verrouillage des majuscules lorsque les deux touches de changement de vitesse sont maintenues enfoncées pendant une seconde. J'ai essayé d'utiliser le module virtkey, mais ça ne marche pas. Ce module fonctionne pour d'autres clés, donc je ne pense pas que j'utilise le module de manière incorrecte.Quelqu'un sait comment activer/désactiver le verrouillage des majuscules en Python?

Est-ce que quelqu'un a un moyen de le faire? Pour être clair, je veux activer/désactiver le verrouillage des majuscules et pas seulement la DEL.

Merci!

Répondre

4

Cela fonctionne pour moi (tourne la led et hors ainsi que activer/désactiver les bouchons)

import virtkey 

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

Voici quelques exemples

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

Vous pouvez également obtenir une bascule comme le comportement il suffit d'utiliser release_keycode

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

Merci pour les exemples! J'essayais de le faire avec press_keysym (0xff14) et release_keysym (0xff14) - c'était ce que j'utilisais pour entrer et revenir en arrière (avec la valeur hexadécimale pour ce que je pensais être une majuscule). Je me demande pourquoi cela n'a pas fonctionné ... de toute façon, ça marche très bien maintenant - merci encore! – Justin

0

Chose amusante. J'ai donné un essai à virtkey à l'interprète, et cela semblait fonctionner. Après avoir appelé press_keycode(50), ma machine agit comme si le verrouillage des majuscules avait été pressé (Ubuntu 9.10, python-virtkey .50ubuntu2). Si je relâche la touche release_keycode(50) - il agit comme si rien ne s'était passé. S'il est exécuté en tant que script, il laisse la touche majuscule enfoncée pour un onglet de terminal virtuel. Très ennuyant.

Avez-vous examiné la commande xvkbd? C'est un clavier virtuel X avec des options de ligne de commande, et dans le pire des cas, vous pouvez l'appeler depuis python. Une autre idée à examiner est xmodmap, qui vous permet de mapper des clés dans X. Voir this post sur SU pour un exemple.

+0

C'est en fait ce que j'utilise pour les autres touches, et ce que j'ai essayé d'utiliser pour les majuscules- fermer à clé. – Justin

+4

'clé xdotool Caps_Lock' retourne le verrouillage des majuscules pour moi. Je ne sais pas si cela vous aide. – Gerry

Questions connexes