Keyboards Influenced by Touchscreens (2011)
eagain.net
eagain.net
The thing about Compose is that it fits in with touch-typing, whereas choosing the character from a menu means you have to stop, look at the menu, and select the desired character, before going back into typing mode. Perhaps that's good for people who almost never use non-ASCII, but that would definitely slow me down.
The big issue with pure Compose solution is that it fails for rarely used or for many symbols - hard to remember all those combos. You must have a visual reminder
The ideal combo is being able to delay showing GUI so that for combos you remember well nothing will popup at all, so it will be the same as "pure Compose", but don't think that's implemented anywhere
So the only remaining difference is pure type combos vs hold trigger, but you don't need to pick: you can have both
- press a symbol label to insert it - use cursor keys, including those bound to your right thumb+ home row to select and enter (or right thumb + another near home key) to insert - use your mouse to pick a symbol - press a key to search by name and have an option to add it to "a" list - press a key to see recent/favorites
(and the popup is not a 1-dimensional list, but can show you your keyboard layout so it's easier to find the key that corresponds to a symbol)
I also use the repeat key and wouldn't want to not have that available.
Compose keys can work but they add one extra keystroke for each modified character. I prefer to use keymaps with dead keys for that, so to type á I press ', then a; to type ñ, it's ~, then n; and so on and so forth.
I then have a shortcut to change keymaps for when I'm typing English or writing code vs. when I'm typing Portuguese or Spanish.
Long-pressing is terrible. It introduces a delay which massive slows down my typing and overrides the key repeat.
macos does it pretty well with Option+key combinations to insert an acute/grave symbol for instance. Otherwise I think most people add shortcuts/custom key mappings to deal with it when their keyboard doesn't have the keys.