如何在没有按键的情况下更改大写锁定状态

And*_*tos 12 python keyboard capslock

我正在使用按下Caps Lock键时激活的python程序,我希望能够在程序处于活动状态时打开/关闭大写锁定状态.

我尝试使用virtkey发送密钥,但它显然不起作用,因为密钥只是激活应用程序而不更改大写锁定状态.那么用python实现这一目标的最佳方法是什么?

我正在使用Ubuntu

Dan*_*llo 6

在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)
Run Code Online (Sandbox Code Playgroud)

来源:Benji York - Stack Overflow:在Python中更改键盘锁


在Windows上:

您应该可以使用SendKeys,如下例所示:

import SendKeys

SendKeys.SendKeys("""
{CAPSLOCK}
""")
Run Code Online (Sandbox Code Playgroud)


Ada*_*tan 3

用于sendkeys更改状态并keyboardleds更改 LED 指示灯。

发送密钥:

来自另一个 SO 讨论

import SendKeys

SendKeys.SendKeys("""
{CAPSLOCK}
{SCROLLOCK}
{NUMLOCK}
""")
Run Code Online (Sandbox Code Playgroud)

键盘:

该软件包似乎仅适用于 POSIX(如果您使用的是 Ubuntu,则可以),您可以在此处阅读更多内容