Python在运行时记录新的热键

问题描述 投票:0回答:1

我正在使用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或其他用于键盘的库是否可能?我很高兴为此提供解决方案。试图自己弄清楚,但是找不到任何信息。编辑:我不介意打开另一个窗口来记录键。

python keyboard hotkeys
1个回答
0
投票

好吧,没关系。通过深入研究键盘库的源代码,找到了一个未记录的解决方案。 keyboard.get_hotkey_name()正是我所需要的。因此,这个问题得以解决。

© www.soinside.com 2019 - 2024. All rights reserved.