ascii 码是没有问题的 2, 4 L 说的都对, 但是没有给出解决方案
主页是这个
源码在这里
看了一下 确实没有现成的办法-> 那就修改源码吧
直接修改
keyboard.add_hotkey
源码位于:
\Lib\site-packages\keyboard\__init__.py
line640:
原本为:
steps = parse_hotkey_combinations(hotkey)
修改为:
if isinstance(hotkey, tuple):
steps = hotkey
else:
steps = parse_hotkey_combinations(hotkey)
运行的代码改为:
import keyboard
def ceshi(keya):
print(keya)
steps = keyboard.parse_hotkey_combinations("left ctrl+1")
print(steps)
# (((2, 29), (29, 79)),)
# 29 指ctrl 2指1 79指小键盘1
steps_new = tuple([tuple([tuple([2, 29])])])
# keyboard.add_hotkey(steps,ceshi,args=('test',))
keyboard.add_hotkey(steps_new,ceshi,args=('test',))
整体逻辑就是
他本身解析的满足不了这种情况, 自己来解析
|