【问题标题】:Emacs keyloggerEmacs 键盘记录器
【发布时间】:2013-06-04 05:08:56
【问题描述】:

我正在尝试在 Emacs 中实现一个键盘记录器(出于我自己的非恶意目的)。

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

所以,我可以这样做:

(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 之类的东西?

【问题讨论】:

  • 您对C-h l不满意?
  • 不是真的,我也很想有时间戳。

标签: emacs elisp


【解决方案1】:

emacs 中还内置了键盘记录器:(open-dribble-file)。

【讨论】:

    【解决方案2】:

    为什么要记录 last(即上一个)命令?如果您改为记录this-command,则可以记录current-prefix-arg,它对应于使用的前缀参数。

    【讨论】:

    • 是的,这行得通。我使用的是real-last-command,因为这是keyfreq 包使用的,但这样更好。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多