我正在開發一個多平臺的OpenGL應用程序,爲此我在Linux下使用Xlib。我明白Xlib輸入處理是基於事件的強烈的,但我的程序已經做了自己的事件處理,而且我更願意輪詢xserver以查找自上次輪詢以來在活動窗口下按下或提出的任何鍵。Xlib鍵盤輪詢
如果我必須在X下使用基於事件的輸入處理,那麼在重寫大量代碼時,我必須對其他平臺執行相同的操作,因爲事件方法對於不同的平臺而言是如此不同。輪詢會真正爲我簡化一些事情,但是恐怕會有這樣的事情發生,而且我還沒有能夠獲得有關應該如何完成的信息。我想直接檢查/ dev/input/eventX節點,但這可能會使事情更加複雜,而不是簡化。
我真正想知道的是如何有效地輪詢Linux系統上的鍵盤狀態。我是否在Xlib上浪費時間,是否應該考慮其他技術或庫?
「事件方法從一個平臺到另一個平臺是如此不同」......什麼?我*相當*確定他們都基於「鑰匙落下」和「鑰匙出現」... –
我建議你調查SDL或SFML來抽象出這種事情。 – singpolyma
你甚至不能輪詢/ dev/input/eventX,我的意思是這個名字本身已經表明它是基於事件的。 – datenwolf