我正在使用Windows,并且安装新库不是问题。我使用Python键盘库来处理热键及其连接的功能。要绑定热键,我使用例如keyboard.add_hotkey("ctrl+shift+e",print,args=["Hotkey was pressed!"])
要注册该组合,我需要字符串“ ctrl + shift + e”。我希望在运行时record一个新的组合,然后可以将其绑定到一个函数。我在设置窗口中需要此设置,因此用户只需按示例组合即可配置各个设置。
我想做什么(简化示例):
import keyboard, time
time.sleep(5)
key_combination = read_currently_pressed_combination()
keyboard.add_hotkey(key_combination, print, args=["Hotkey %s was pressed!" % key_combination ])
keyboard.wait()
此代码显然缺少整个记录部分。 keyboard.record
不符合我的需求,因为它只是提供了录音的可重播版本,而不是组合的实际字符串(据我所知)。使用键盘或msvcrt或其他用于键盘的库是否可能?我很高兴为此提供解决方案。试图自己弄清楚,但是找不到任何信息。编辑:我不介意打开另一个窗口来记录键。
好吧,没关系。通过深入研究键盘库的源代码,找到了一个未记录的解决方案。 keyboard.get_hotkey_name()
正是我所需要的。因此,这个问题得以解决。