Is there a Linux utility that can act as an intermediary between keyboard input and the active program, allowing for the translation of keystrokes between what is typed and what is sent to the active application?
The goal is to enable complex keybindings, such as multi-level Emacs-style bindings (e.g., C-c C-f t), in programs that don’t natively support them. For example, while Firefox allows remapping C-t to C-n for opening a new tab, it doesn't support more advanced bindings. I'm imagining being able to type "C-c C-f t" to open a new tab, because the utility program intercepts "C-c C-f t" and sends "C-t" to Firefox.
A program like this would need to: 1. Identify the current active program. 2. Recognize the input keystrokes. 3. Translate input keystrokes into bindings that are supported by the active program.
I think this would probably be a process that runs somewhere the keyboard and the window manager. Does anyone know of such a utility?
[link] [comments]