2011-09-27 51 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的内部问题,良好的网站...