>A large portion of coding is moving the cursor left, right, up, down, page up, page down, home, end. The arrow keys are not even shown on the layout.
From the dawn of time (1/1/1970) or perhaps even earlier, programmers have used home row keys for those actions. In vim for example we map h,j,k,l and so on for such movements...
My keyboard layout has navigation as a convenient layer -- https://neo-layout.org/grafik/flat/tastatur_e4.png -- but I don't actually use it. My keyboard is a ThinkPad USB keyboard, and I use the trackpoint instead of a mouse. It's right there on the home row, I don't have to move my hands to use it. Symbols are also very convenient: https://neo-layout.org/grafik/flat/tastatur_e3.png. This setup works really well for me.
If you have to use these keys, then Kinesis advantage keyboard places them in more convenient positions: the left and right keys are on one side; the up and down on the other side; the home and end keys beneath the thumbs.
I suspect the answers would be: use non-arrow keybindings for browsers (e.g. vim-like plug-ins, or alternative keyboard shortcuts), remap your terminals keys (maybe, use a different terminal entirely?), use insert mode for only inserting text.
I use a “vimium” plug-in for Firefox and I quite like being able to go up/down with j/k. Though I still use the arrow keys for my terminal.
Yup I've just installed vimium on chrome, and it seems to do the job.
I've tried out vim-mode bash in the past, but much prefer the default emacs-mode on the command line, despite being a vim user.
Either way I'm suspecting a ton of exceptions which necessitate resorting often to the cursor keys, however (like another commenter has mentioned w.r.t various GUI apps).
The arrow keys are not even shown on the layout.
And the selection of prose corpus (es?) is again not related to programming [Tom Sawyer].
We need underscores, braces, semicolon, context menu.
Perhaps a better metric would be the hoc compiler source from The Unix Programming Environment.