Python 在运行时记录新热键
Python record new hotkey in runtime
我正在使用 Windows,安装新库没有问题。
我使用 Python 键盘库来处理热键按下和与之相关的功能。
要绑定热键,我使用例如keyboard.add_hotkey("ctrl+shift+e",print,args=["Hotkey was pressed!"])
要注册该组合,我需要字符串 "ctrl+shift+e"。我希望有可能在运行时 记录 一个新组合,然后可以将其绑定到一个函数。我需要这个用于设置-window,因此用户只需按示例组合即可配置单独的设置。
我想做什么(简化示例):
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 或任何其他用于键盘事物的库是否可能?我很高兴为此找到解决方案。尝试自己弄清楚,但找不到任何相关信息。
编辑:我不介意打开一个额外的 window 来记录按键。
好的,没关系。通过深入研究键盘库的源代码,找到了一个未记录的解决方案。 keyboard.get_hotkey_name()
正是我所需要的。所以这个问题就解决了。
我正在使用 Windows,安装新库没有问题。
我使用 Python 键盘库来处理热键按下和与之相关的功能。
要绑定热键,我使用例如keyboard.add_hotkey("ctrl+shift+e",print,args=["Hotkey was pressed!"])
要注册该组合,我需要字符串 "ctrl+shift+e"。我希望有可能在运行时 记录 一个新组合,然后可以将其绑定到一个函数。我需要这个用于设置-window,因此用户只需按示例组合即可配置单独的设置。
我想做什么(简化示例):
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 或任何其他用于键盘事物的库是否可能?我很高兴为此找到解决方案。尝试自己弄清楚,但找不到任何相关信息。
编辑:我不介意打开一个额外的 window 来记录按键。
好的,没关系。通过深入研究键盘库的源代码,找到了一个未记录的解决方案。 keyboard.get_hotkey_name()
正是我所需要的。所以这个问题就解决了。