2016-07-10 57 views
0

我正在尋找一種方法來允許程序在後臺運行,而在其他任務期間,仍然可以通過用戶輸入執行命令,形式爲快捷鍵。Python和後臺運行'快捷鍵'程序

例如:如果我正在瀏覽主頁並按下shift-f,則會在運行python程序的後臺執行一個方法。

+1

你需要在全局事件隊列上設置一個鉤子。嘗試一個庫 - 這是一個[聽起來很有希望的](https://pypi.python.org/pypi/keyboard/)。注意我沒有試過這 – miraculixx

回答

1

即使應用程序未聚焦,也可以使用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的值,即使終端運行的應用程序沒有焦點。

+0

這會給我一個ImportError:No module name'fcntl' 這是另一個話題的問題。 – vandelay

+0

@vandelay:是的,這是一個完全不同的問題。 – dotancohen