2011-09-27 47 views
4

在emacs中有一種方法來檢查鍵盤事件,或者,是否可以輪詢鍵盤並檢查鍵是否被按下?Emacs中的按鍵事件或輪詢鍵盤狀態?

+0

你就不能登記爲在elisp的熱鍵,你想做到究竟是什麼這個? –

+0

我也很好奇你爲什麼需要這個。對我來說,在Emacs中按下任何按鍵似乎是不尋常的。 –

+0

我試圖移植一個非標準的keymapping(PinkyTwirl https://github.com/JordanFisher/PinkyTwirl)。 PinkyTwirl中的很多地圖都像3-j(按住3並按j)。 我可以使用和絃(http://www.emacswiki.org/emacs/key-chord.el)在emacs中實現此功能,該功能可以識別何時兩個按鍵同時被按下,或者兩個按鍵之間是否存在一些延遲。我可以設置滯後時間,以便在必須按j之前暫時保持3分鐘,這很好。問題是如果我按3然後放開會發生什麼?這應該只是插入3到緩衝區中。我需要一個事件來做到這一點。 – TheEzEzz

回答

4

Emacs elisp API不允許您獲取按下按鍵的時間以及按鍵是否仍然按下。

Emacs不僅在GUI模式下工作,而且在終端中工作,在此信息不可用(因爲硬件不支持它)。

因此,GNU Emacs的編寫方式無法將這些信息提供給您。

如果你想在[email protected]詢問更完整的答案,但要小心不要偏離主題。 [email protected]是Emacs問題的主要列表。

同時檢查:EmacsMailingListsEmacsNewsgroups

StackOverflow的不是關於Emacs的內部問題,良好的網站...