Python 在运行时记录新的热键
Posted
技术标签:
【中文标题】Python 在运行时记录新的热键【英文标题】:Python record new hotkey in runtime 【发布时间】:2020-04-06 06:13:18 【问题描述】:我使用的是 Windows,安装新的库不是问题。
我使用 Python 键盘库来处理热键按下和连接到它们的功能。
要绑定热键,我使用例如keyboard.add_hotkey("ctrl+shift+e",print,args=["Hotkey was pressed!"])
要注册该组合,我需要字符串“ctrl+shift+e”。我希望有可能在运行时记录一个新组合,然后可以将其绑定到一个函数。我需要它作为设置窗口,因此用户只需按下示例组合即可配置单个设置。
我想做什么(简化示例):
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 或任何其他用于键盘的库?我很高兴有一个解决方案。尝试自己弄清楚,但找不到任何有关此的信息。
编辑:我不介意打开一个额外的窗口来记录键。
【问题讨论】:
【参考方案1】:好吧,没关系。通过深入挖掘键盘库的源代码,找到了一个未记录的解决方案。 keyboard.get_hotkey_name()
正是我所需要的。所以这个问题就解决了。
【讨论】:
以上是关于Python 在运行时记录新的热键的主要内容,如果未能解决你的问题,请参考以下文章