我正在尋找一種方法來允許程序在後臺運行,而在其他任務期間,仍然可以通過用戶輸入執行命令,形式爲快捷鍵。Python和後臺運行'快捷鍵'程序
例如:如果我正在瀏覽主頁並按下shift-f,則會在運行python程序的後臺執行一個方法。
我正在尋找一種方法來允許程序在後臺運行,而在其他任務期間,仍然可以通過用戶輸入執行命令,形式爲快捷鍵。Python和後臺運行'快捷鍵'程序
例如:如果我正在瀏覽主頁並按下shift-f,則會在運行python程序的後臺執行一個方法。
即使應用程序未聚焦,也可以使用Xlib.display
捕獲鍵盤輸入。
這是一個非常簡單的例子:
from Xlib.display import Display
from pprint import pprint
import time
disp = Display()
while 1:
time.sleep(0.06) # This is the lowest value that ensures Xlib won't recognize a single keypress twice
keymap = disp.query_keymap()
pprint(keymap)
這將打印捕捉到CLI的值,即使終端運行的應用程序沒有焦點。
這會給我一個ImportError:No module name'fcntl' 這是另一個話題的問題。 – vandelay
@vandelay:是的,這是一個完全不同的問題。 – dotancohen
你需要在全局事件隊列上設置一個鉤子。嘗試一個庫 - 這是一個[聽起來很有希望的](https://pypi.python.org/pypi/keyboard/)。注意我沒有試過這 – miraculixx