如何使用 python 在 linux 和 windows 上检测背景中的按键组合?
How to detect key-press combinations in background on linux & windows with python?
如何在后台使用 python 检测 linux 和 windows 的按键组合?
例如,
when Ctrl+v
is detected execute doThis()
in background
when Tab
is detected execute doThat()
in background
如果你正在使用 python tkinter,有文件菜单。那么下面的代码可能会对你有所帮助。
from Tkinter import *
import sys
import Tkinter
class App(Tkinter.Tk):
def __init__(self):
Tkinter.Tk.__init__(self)
menubar = Tkinter.Menu(self)
fileMenu = Tkinter.Menu(menubar, tearoff=False)
menubar.add_cascade(label="File", underline=0, menu=fileMenu)
fileMenu.add_command(label="doThat", underline=1,
command=quit, accelerator="Ctrl+v")
fileMenu.add_command(label="doThis", underline=1,
command=quit, accelerator="Tab")
self.config(menu=menubar)
self.bind_all("<Control-v>", self.doThat)
self.bind_all("<Tab>", self.doThis)
def doThat(self, event):
print("Control v is pressed ...")
def doThis(self, event):
print("Tab is pressed...")
if __name__ == "__main__":
app = App()
app.mainloop()
在 windows 这可以使用
pyhook
在 ubuntu 我是在这个的帮助下完成的
pyxhook
编辑:Windows 和 Linux 的另一个很棒的库 - keyboard
pynput 最适合我。
如何在后台使用 python 检测 linux 和 windows 的按键组合?
例如,
when
Ctrl+v
is detected executedoThis()
in backgroundwhen
Tab
is detected executedoThat()
in background
如果你正在使用 python tkinter,有文件菜单。那么下面的代码可能会对你有所帮助。
from Tkinter import *
import sys
import Tkinter
class App(Tkinter.Tk):
def __init__(self):
Tkinter.Tk.__init__(self)
menubar = Tkinter.Menu(self)
fileMenu = Tkinter.Menu(menubar, tearoff=False)
menubar.add_cascade(label="File", underline=0, menu=fileMenu)
fileMenu.add_command(label="doThat", underline=1,
command=quit, accelerator="Ctrl+v")
fileMenu.add_command(label="doThis", underline=1,
command=quit, accelerator="Tab")
self.config(menu=menubar)
self.bind_all("<Control-v>", self.doThat)
self.bind_all("<Tab>", self.doThis)
def doThat(self, event):
print("Control v is pressed ...")
def doThis(self, event):
print("Tab is pressed...")
if __name__ == "__main__":
app = App()
app.mainloop()
在 windows 这可以使用 pyhook
在 ubuntu 我是在这个的帮助下完成的 pyxhook
编辑:Windows 和 Linux 的另一个很棒的库 - keyboard
pynput 最适合我。