在 python 中持有一把钥匙

Holding a key in python

我正在编写一个简单的 python 代码来接收定义操纵杆位置的串行字符串,分隔 X 和 Y 并相应地执行键盘命令。

在我的代码中,我尝试这样做,当用户将操纵杆保持在右侧时,-> 保持按下状态,然后释放。为此,我使用了 PyUserInput 库。然而发生的事情是,右键一直被按下,而角色(模拟器中的洛克人)只是跑到它的死亡。谁能帮我弄清楚为什么会这样,我该如何解决?

import serial
from pykeyboard import PyKeyboard


control = PyKeyboard()
try:
    arduino = serial.Serial('/dev/ttyACM0', 9600)
except:
    print "Failed to connect on /dev/ACMDUSB0"
while True:
    xy = arduino.readline()
    if xy is "":
        print ("NULL")
    else:
        x, y = xy.split("_")
        x = int(x)
        y = int(y)
        while(x > 700):
                control.press_key(control.right_key)
        control.release_key(control.right_key)
        print ("X = {0}\nY = {1}".format(x, y))

正如@Ignacio Vazquez-Abrams 在评论部分指出的那样,错误是由于我没有重新检查在 while 循环结束时按下了哪些控件,因此不确定 运行。