我在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“,capslock是
False不是让capslock在一开始就等于False,而是如何让它等于True,如果它已经打开,或者False,如果它已经关闭了?
发布于 2017-04-17 05:39:35
在Linux (在带有Python 3.6的Linux Mint 18.1上测试)上,您可以使用:
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 )如果不起作用,检查subprocess.check_output()给出的值是否为CapsLock,CapsLock是否为OFF。理论上它应该是0和1,而不是50,51,但在我的盒子上是50,51。
您还可以查看"Python - How to get current keylock status?"以获取更多信息。
是的,我认为你还需要一个来自Pygame的按键事件来了解按键的状态,所以要提前知道它,你必须使用来自Pygame外部的方法。
https://stackoverflow.com/questions/43442170
复制相似问题