我可以使用 evdev 读取 NUML_LED 状态。但是,如果我在退出程序时读取 LED 后抓取()设备,即使就系统而言状态仍处于开启状态,LED 也会关闭。
import evdev
device = evdev.InputDevice('/dev/input/event3')
try:
print(device.leds(verbose=True))
print("Using device:\n" + str(device))
device.grab()
except (KeyboardInterrupt, SystemExit):
pass
如果我只做一个grab()
ORdevice.leds()
而没有另一个,它们(如预期的那样)不会关闭。但是调用两个 LED 都会弄乱。
编辑: 我刚刚意识到,如果 LED_NUML 和 LED_CAPSL 在我退出时打开,则 LED 关闭,但是当我按下 num_lock 或 caps_lock 时,另一个按钮的状态也会得到修复。
IE:
- LED_NUML and LED_CAPSL are on
- run script
- LED_NUML and LED_CAPSL are off
- press num_lock turns num_lock off (LED_NUML is already off so it stays off)
- LED_CAPSL turns on