2015-06-20 29 views
1

我使用python-evdev庫檢測鍵盤事件。python InputDevice fflush

但我有一個問題,我需要在檢測到鍵後刷新鍵盤事件。

例如:

from evdev import InputDevice, categorize, ecodes 

dev = InputDevice('/dev/input/event1') 
for event in dev.read_loop(): 
    if event.type == ecodes.EV_KEY: 
     print(categorize(event)) 
     #to do.............. 
     >>>flush here> KEYBOARD EVENT>> 

如何fflush開發?

+0

我有類似的問題,我聽的輸入設備發佈事件的方式太快,他們開始排隊。我想在每次閱讀後刷新事件。 –

回答

1

與事件做你的東西后,使用device.read_one()讀取隊列中的所有的那些(read_one()返回如果隊列爲空)。

for event in device.read_loop(): 
    do_stuff_with_your_event(event) 
    while device.read_one() != None: 
     pass 
+0

你能否詳細說明爲什麼這個答案是一個有效的答案,並對你的代碼做一些小的格式化,使它看起來與左邊的可讀性一致? –