在 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 循环结束时按下了哪些控件,因此不确定 运行。
我正在编写一个简单的 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 循环结束时按下了哪些控件,因此不确定 运行。