Razzi Unified Keyboard Interface

From razwiki
Revision as of 16:03, 21 February 2023 by Razzi (talk | contribs) (Created page with "I have 2+ computers with the usual suspects of operating systems: windows, debian/ubuntu, macos. Perhaps macos will fade into obscurity in my computing life, but currently it...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I have 2+ computers with the usual suspects of operating systems: windows, debian/ubuntu, macos. Perhaps macos will fade into obscurity in my computing life, but currently it has the best support for keyboard shortcuts.

On top of the operating system, we have the desktop environment. In the windows and macos case, these are synonymous with the operating system. In debian/ubuntu, I tend to stick with the default gnome. This has windows-like keyboard shortcuts. It also introduced me to a longtime favorite: control+alt+t for a terminal.

The applications I use are basically: terminal, browser, text editor.

Firefox is currently my browser of choice, though I think there's a lot of innovation possible here.

Terminals are all pretty much the same, ever since windows came out with Windows Terminal which is not garbage. Tmux introduces its own keybindings, though I think ideally I'd work this one out of my standard setup and use it more as a special-purpose tool; it'd be nice to use os-level concepts of tabs and leave out the complexity of mouse+tmux kinds of issues.

Text editor of choice tends to be emacs, though it pisses me off sometimes. Still it's the best. I use vim a lot as well. I tend to shy away from IDEs, as they tend to be slow, distract from the purpose of text editing, and are slow... so slow I say it twice.

That's the backstory for this effort I'm partaking in now, which is: to document the keyboard shortcuts I use on a regular basis, and the progress towards implementing all of them on all the various OSes I use.

Now to get into the nitty gritty. Let's start with modifier keys.

ctrl

Unlike windows, I use ctrl keys like emacs does. That means ctrl-a moves the cursor to the start of the line, rather than selecting all the text (alt-a does that). Every keyboard I use has a control key. I map caps lock to control; I don't have a caps lock.

alt

Also known as "command" in macos. These are application sort of shortcuts. alt-w is close tab, for example. This get a bit tricky in terminal, as alt-d is delete forward word. This kind of clashing is why I'm putting some effort into making a unified keyboard interface.

I only type in english and don't really use accents. MacOS has an option key with some nice shortcuts, such as option-n for n-tilde. They also have a fancy accent-adding ui and emoji selector built in. I don't really use these, but they are cool. good work mac ui engineers.

I tried to use alternate keyboard layouts for a bit, such as workman, and dvorak is very well known. However it was too much work for my brain and the payoff was too little, so I stopped. Generally I can type plenty fast on qwerty, and since so much of my typing is technical, I make heavy use of autocompletion, but that's a tangent.

Case study: control t

control t transposes the 2 characters before the cursor. This one saves me a lot of time and generally allows me to relax while typing: hitting 2 keys out of order just means I recognize it, hit control-t, and move on. Taking this way further there is the keychording typing model, which I haven't looked in to yet.