所以我想构建一个内核模块(我想),它会在按下键盘键后插入一点延迟(比如说 500 毫秒)。我设法通过钩子在 Windows 中做到了这一点,但在 Linux 中似乎有所不同。请注意,我不希望使用 x11 方法,因为我希望它也可以从 linux 控制台工作(即使没有运行 X 服务器)。据我所知,它需要构建一个内核模块并使用 insmod 将其动态插入内核。我设法构建了一个按键记录器,它将每个按下的按键转储到内核日志中,但是插入延迟需要将处理键盘中断处理程序的线程发送到睡眠状态,这是一个非常糟糕的主意,并且还要重写整个 USB_KBD驱动程序,因为当前脚本调用设置了 IRQF_SHARED 标志的 request_irq 函数,
我目前正在请求这样的中断处理程序
request_irq (1, (irq_handler_t) irq_handler, IRQF_SHARED, "keyboard_stats_irq", (void *)(irq_handler));
关于如何处理这个(任何其他方式)的任何建议?