Caps Lock キーを押すとアクティブになる Python プログラムを使用しています。プログラムがアクティブなときに Caps Lock ステータスをオン/オフできるようにしたいと考えています。
virtkey を使用してキーを送信しようとしましたが、キーはアプリをアクティブにするだけで Caps Lock ステータスを変更しないため、明らかに機能しません。それでは、Pythonでこれを達成する最良の方法は何ですか?
Ubuntuを使用しています
Linuxの場合:
import fcntl
import os
KDSETLED = 0x4B32
console_fd = os.open('/dev/console', os.O_NOCTTY)
# Turn on caps lock
fcntl.ioctl(console_fd, KDSETLED, 0x04)
# Turn off caps lock
fcntl.ioctl(console_fd, KDSETLED, 0)
出典:Benji York-Stack Overflow:Pythonでキーボードロックを変更
Windowsの場合:
次の例のように、これにSendKeysを使用できるはずです。
import SendKeys
SendKeys.SendKeys("""
{CAPSLOCK}
""")
sendkeys
ステータスkeyboardleds
を変更し、LEDインジケータを変更するために使用します。
別のSOの議論から:
import SendKeys
SendKeys.SendKeys("""
{CAPSLOCK}
{SCROLLOCK}
{NUMLOCK}
""")
このパッケージはPOSIX(Ubuntuを使用している場合は問題ありません)でのみ機能するようです。詳細については、こちらをご覧ください。