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() 正是我所需要的。所以这个问题就解决了。