Emacs键盘记录器

7

我正在尝试在Emacs中实现一个键盘记录器(仅供个人使用,无恶意目的)。

看起来我可以通过pre-command-hook可靠地捕获最后一个命令,通过real-last-command

因此,我可以做以下操作:

(setq keylog-list nil)

(defun my-keylogger-function ()
  (setq keylog-list (cons real-last-command keylog-list)))

(add-hook 'pre-command-hook 'my-keylogger-function)

几个移动命令后,我们得到了以下结果:
keylog-list's value is
(describe-variable left-char left-char previous-line previous-line left-char eval-last-sexp)

然而,我对捕获这些命令的参数也很感兴趣(例如left-char的参数,默认情况下为1,但如果使用前缀参数,则可能会有所不同。

是否有一种方法也可以访问这些参数呢?类似于real-last-command-arglist这样的东西吗?


4
你对 C-h l 不满意吗? - tripleee
1
不是的,我也很想有时间戳。 - Ben
2个回答

6
一个键盘记录器也内置在emacs中:(open-dribble-file)。

3

为什么要记录上一条命令?如果记录this-command,你可以记录使用的前缀参数current-prefix-arg


没错,这个可行。我之前使用real-last-command是因为keyfreq包使用的就是它,但这个更好。谢谢。 - Ben

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接