Prelude: Part-1:
I have pain in my little fingers and wrists if I have to repeatedly press key combinations such as Ctrl+Shift+<key>.
I found some respite in using vi's modal editing which largely eliminated the need for such key combinations. More recently I have been using the God-mode in Emacs and it also works great. Here is a short description of God-mode (adapted from their github page):
God-mode is an global minor mode for entering Emacs commands without modifier keys. For example in this mode one can do the following:
Before: C-p C-k C-n M-^ ) C-j C-y M-r C-x z z M-2 M-f C-x C-s
After: p k n g ^ ) j y g r . . 2 g f x s
(You may check out their key-mapping section for an explanation of the framework).
So far so good! However a lot of applications (outside of the nice Emacs and vi/vim world) require me to press key combinations such as Ctrl+Shift+Tab or Ctrl+Alt+u etc, which are hurting my wrists and little fingers.
Prelude: Part-2:
I am aware of the Input Method framework/ Input Method Engine that allows users to enter foreign characters and glyphs with key combinations. Here is an Youtube video demonstrating the use of fctix5 to input Japanese characters/ glyphs.
I am also aware of Plover project from the Open Steno Project which is an open-source stenography engine, that can translate key-chords on an N-key rollover-keyboard into English words via a predefined dictionary. I also know that Plover supports modifier keys such as Ctrl, Alt, Shift etc.
Questions:
I wish to have an Emacs's God-mode like framework system wide everywhere that works across applications, so that I wouldn't ever have to press Ctrl+Shift+<key> and instead I can simply press G <Key> etc.
Does there already exist something like this?
If no, will it be possible to build something like this? I am thinking of a
Ploverlike daemon that would translateG <key>toCtrl+Shift+<key>etc.Will
Ploverqualify as anInput Method Engine(in the same sense thatfcitx5is anInput Method Engine)? If no, how arePloverandfcitxdifferent?I use
i3as my window manager. I would want that my Global Modal Input translator should intercept and process my keybindings before my window manager does. Will that be possible?