如何在不按键的情况下改变大写锁定状态
我正在使用一个Python程序,这个程序会在按下大写锁定键(Caps Lock)时启动。我希望在这个程序运行时能够打开或关闭大写锁定的状态。
我尝试过用virtkey发送按键,但显然这不行,因为这些按键只是激活了应用程序,并没有改变大写锁定的状态。那么,使用Python实现这个功能的最佳方法是什么呢?
我在使用Ubuntu系统。
2 个回答
3
可以使用 sendkeys
来改变状态,使用 keyboardleds
来改变LED指示灯。
sendkeys:
来自 另一个讨论:
import SendKeys
SendKeys.SendKeys("""
{CAPSLOCK}
{SCROLLOCK}
{NUMLOCK}
""")
keyboardleds:
这个工具包似乎只适用于POSIX系统(如果你在用Ubuntu的话,这没问题),你可以 在这里了解更多。
7
在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}
""")