在Python中创建键盘快捷键

时间:2017-08-05 14:07:16

标签: python

我正在寻找一种在Python中创建跨平台键盘快捷键的方法。这样当我按下 Ctrl + C Ctrl + Alt + F ,程序将运行某个功能。

是否存在此类方法或库?

2 个答案:

答案 0 :(得分:0)

我不知道是否可以发送Ctrl和/或alt的组合。我尝试了几次,但我认为它不起作用。 (如果有人有任何其他信息,请纠正我)。你能做的就是这样:

from msvcrt import getch

while True:
    key = ord(getch())
    if key == 27: #ESC
        PrintSomething()

def PrintSomething():
    print('Printing something')

每次按ESC时都会运行一个scrpit,尽管只有在命令提示符下运行时才会运行。

答案 1 :(得分:0)

您可以通过pynput库为按键事件创建一个侦听器。 这是一个简单的代码,可以在按CTRL+ALT+H键时运行功能:

from pynput import keyboard

def on_activate():
    print('Global hotkey activated!')

def for_canonical(f):
    return lambda k: f(l.canonical(k))

hotkey = keyboard.HotKey(
    keyboard.HotKey.parse('<ctrl>+<alt>+h'),
    on_activate)
with keyboard.Listener(
        on_press=for_canonical(hotkey.press),
        on_release=for_canonical(hotkey.release)) as l:
    l.join()