2つのシフトボタンを1秒間押し続けたときに、CapsLockのオン/オフを切り替えようとしています。virtkeyモジュールを使用してみましたが、機能しません。ただし、そのモジュールは他のキーでも機能するので、モジュールを誤って使用しているとは思いません。
誰かがこれを行う方法がありますか?
明確にするために、LEDだけでなく、実際にCapsLockのオン/オフを切り替えたいと思います。
ありがとう!
これは私のために働きます(LEDのオンとオフを切り替え、キャップを有効/無効にします)
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から呼び出すことができます。調べるべきもう1つのアイデアは、Xでキーを再マップできるxmodmapです。例については、SUに関するこの投稿を参照してください。