Razzi Unified Keyboard Interface: Difference between revisions

From razwiki
Jump to navigation Jump to search
(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...")
 
No edit summary
Line 5: Line 5:
The applications I use are basically: terminal, browser, text editor.
The applications I use are basically: terminal, browser, text editor.


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


=== Terminal ===
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.
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 ===
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.
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.
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.


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

ctrl


== 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.
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
== 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.
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.


Line 27: Line 28:
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.
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
==== 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.
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.
{| class="wikitable"
|+
!ctrl-t
!windows
!macos
!debian
|-
|browser
|https://sr.ht/~razzi/firefox-control-t/
|built in
|TODO
|-
|terminal
|bind \ct transpose-chars
|
|
|-
|text editor
|https://github.com/razzius/.emacs.d/blob/master/init.el#L450
|
|
|}

Revision as of 15:09, 21 February 2023

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.

Browser

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

Terminal

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

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.

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.

ctrl-t windows macos debian
browser https://sr.ht/~razzi/firefox-control-t/ built in TODO
terminal bind \ct transpose-chars
text editor https://github.com/razzius/.emacs.d/blob/master/init.el#L450