【发布时间】:2019-03-03 20:55:47
【问题描述】:
我正在编写一个脚本,它会截取屏幕截图并解码以图像名称命名的特定按键,如下所示。 我的问题是,当我按下左键盘箭头时,也按下了数字 4。 我在谷歌或键盘库的文档中找不到任何东西。我正在使用 Windows 和 Python 3.6.5
(75,)
left arrow pressed
(5, 75)
4 pressed
向下箭头也会发生同样的事情,但数字 3 是这样的。
(80,)
down arrow pressed
(3, 80)
2 pressed
代码:
from PIL import ImageGrab
import keyboard # using module keyboard
import time
keys = [
"down arrow",
"up arrow",
"left arrow",
"right arrow",
"w",
"s",
"a",
"d",
"1",
"2",
"3",
"4",
"q",
"e", “F” ]
if __name__ == "__main__":
while True:
code = []
try:
for key in keys:
if keyboard.is_pressed(key):
print(keyboard.key_to_scan_codes(key))
print(f"{key} pressed")
code.append(1)
else:
code.append(0)
if keyboard.is_pressed('esc'):
print(key + " pressed")
break
c = "".join(map(str, code))
snapshot = ImageGrab.grab()
save_path = str(int(time.time()*1000)) + "-" + c + ".jpg"
snapshot.save("tmp\\" + save_path)
except:
break
【问题讨论】: