I have been writing this post off and on all day and this Emacs (now + vi) topic has seen a lot of great action, but since I wrote it, I'm going ahead and posting. It's not all about Emacs, but an overview of my UI desires. I hope that I at least made it clear that I have obsessed over it, even if there are some things that I should have done differently like becoming a "real touch typist" or not depending on arrow keys. I should probably try to reduce mouse usage as well
When I ordered the TextBlade the plan was to try it as a bicycle bag keyboard for emergency system administration tasks using VPN + ssh to corporate servers and security appliances. For that work I would be mostly using a UNIX shell interface and vi (although Emacs might be needed in rare cases). Nine months later I retired, somewhat unexpectedly, but it was a good thing and I could head out on a bike ride and not care if I had a keyboard with me.
Once TREG started, and reports of how attached TREGers had become to the TB for all platforms I began to think that I should hold back a bit on my search for the ideal keyboard. If the TB is really that good maybe I would want it on all platforms. So, I was standing by fairly patiently with this forum always in a browser tab to catch the latest news. When the TREG invitation call came I was slightly hesitant but decided to go for it, partly because my use case seemed to overlap with only a small number of TREGers.
Here is an overview of my favored (desktop) working environment (it's definitely not perfect).
First, non-keyboard specific items:
The desk is a motorized sit / stand desk (used mostly sitting lately). A 4k / UHD monitor is on an arm, and the keyboard + mouse are on a keyboard tray. There is a LED strip under the desk edge to light non-back-lit keyboards. I usually have the monitor close to my face so that I can see small fonts without glasses.
I have built several portable keyboard trays and monitor arms. The keyboard tray is so important to me that I have carried one on international trips.
I run Ubuntu Linux with the Xfce "lightweight desktop environment" on a Xeon workstation with 32 GB of ECC RAM (don't want to waste any of that memory with a heavyweight desktop environment!).
The first window manager setting I fix is to turn on "Focus Follows Mouse" so that I don't have to click on a window to make it active ("Sloppy Focus" is an acceptable alternative, allowing the mouse to move out of a window to the background while keeping the last window active).
I use the mouse for a lot of copy / paste activity and never want to use Cntrl-C / Cntrl-V or a menu. I require simple copy / paste where text is highlighted using the left mouse button, then cursor is moved (usually with mouse) to the new location and the "middle" mouse button is clicked to insert the text. Since pressing a mouse wheel is not friendly, I have a side button on the mouse mapped to middle button.
On to the keyboard, first noting that I am a "multifinger typist" not a real touch typist. In 1997 or 1998 I switched from a big clunky Sun Microsystems keyboard to the first of a series of Happy Hacking keyboards. Some years later I switched to Linux and kept using a HHKB. The HHKBs are 290 mm / 11.4" wide enabling the mouse to be close to the "typing area", and they have Control in the "correct" position (where others put the troublesome Caps-Lock). Early models did not have dedicated arrow keys and required chording to move the cursor.
Around 2012 I was using a MacBook for traveling and started having some issues switching between keyboards. By that time Apple had stopped making a USB version of their mini-keyboard but I was able to buy two new old stock keyboards. (Yes, I prefer wired. I would rather not worry about battery charge, and have had trouble on MacBook with simultaneous Bluetooth keyboard and mouse). I tend to look at the keys more than I actually need to and thus prefer a back-lit keyboard. I have a very flimsy (low cost as well) Apple-like keyboard that is back-lit, and I have tried a Logitech back-lit Bluetooth keyboard (but it lights up only when fingers are very close to save power). It seems crazy that no vendor, or Apple itself, makes a quality back-lit keyboard with the same layout as the MacBooks. iMac users should be a decent market to start with. I note that the Apple mini-keyboard is 10 mm narrower than the HHKBs, and it also has a function key row (which I prefer, and I don't care much about keyboard height).
On both Linux and MacOS I have the Caps-Lock key configured to be an additional Control key and use it exclusively. I generally program the F4 function key to evaluate code in Emacs and I have it marked with tape, or something larger, to quickly find it by feel. I have thought about using a foot pedal for this function. Very occasionally I may program more function keys for a short time.
Finally, a note on MacBook compatibility with my "requirements". XQuartz allows me to to make the MacBook work a lot like my desktop. Between X windows I have Sloppy Focus and the "simple" copy paste method described above. It can be maddening when the browser has to participate in copy / paste operations with Emacs and shell windows. On top of that, focus is sometimes stolen from XQuartz. I might buy a higher end Intel NUC to run Linux when traveling where an external monitor is available, loving the TextBlade might accelerate that purchase.
Now, back to the shell(s) and Emacs. I use the X GUI version of Emacs and perform a few common functions with the mouse. Since DBK was counting, and I was unclear on some points, here is a list of Emacs commands that require the Control key. Please don't suggest using Tab or ESC keys. Tab is critical in the shells for command completion and ESC is used for a lot of the extended commands in Emacs.
I believe that this is a comprehensive list of the Emacs commands requiring the Control key that I use regularly:
C-a Move to beginning of line
C-e Move to end of line
C-d Delete character
C-f Move forward
C-b Move backward
C-n Move down
C-p Move up
C-k Kill line
C-w Kill region
C-y Yank contents of kill buffer (insert at cursor)
C-t Transpose characters at cursor
C-r Search backwards
C-g Terminate extended command being entered
C-x C-s Save file
C-x C-f Find and open a file
C-x u Undo (I usually do this with mouse on window header)
C-x 5 2 Open a new window
C-x 2 Split window (usually to view two separate regions of a file)
C-x 1 Back to single pane window
C-x ( Start defining a macro
C-x ) End a macro definition
C-x e Execute the macro
Unlike rberenguel, I tend to use the arrow keys a lot, maybe I will change.
Control is also needed in the shell(s):
C-c Terminate program currently running in shell
C-z Background program currently running in shell
C-d End-of-file when inputting data
C-p Recall previous command from history
C-n Go forward in command history
Probably others, won't bother being comprehensive here but will note that I have emacs-mode enabled in the tcsh shell which lets me edit commands using many of the Emacs commands listed above.