我在 pygame 程序中找到了某些代码,准确地说是:
caplock = False
for event in pygame.event.get():
if event.type == pygame.KEYDOWN:
if event.key == pygame.CAPSLOCK:
capslock = True
if event.type == pygame.KEYUP:
if event.key == pygame.CAPSLOCK:
capslock = False
当您在关闭状态下按“caps lock”时,capslock
为
True
当您在“Caps Lock”打开时按下“Caps Lock”,capslock
为
False
如果 capslock 已打开或 False
如果它已经关闭?
最佳答案
在 Linux 上(在 Linux Mint 18.1 和 Python 3.6 上测试),您可以使用:
import subprocess
if subprocess.check_output('xset q | grep LED', shell=True)[65] == 50 :
capslock = False
if subprocess.check_output('xset q | grep LED', shell=True)[65] == 51 :
capslock = True
print( "capslock ON is : ", capslock )
如果它不起作用,请检查 CapsLock 为 ON 以及 CapsLock 为 OFF 时 subprocess.check_output() 给出的值。理论上应该是0和1,而不是50、51,但在我的盒子上是50、51。
您还可以查看"Python - How to get current keylock status?"了解更多信息。
是的,我认为您还需要 Pygame 的按键事件来了解按键的状态,因此要提前了解它,您必须使用 Pygame 外部的方法。
关于python - 如何检查 pygame 上的天气或大写锁定是否打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43442170/