Skip to content

Nouhi/keyboard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Toward a more useful keyboard

Steve Losh's Modern Space Cadet is an inspiration. It opened my eyes to the fact that there's a more useful keyboard hidden inside the vanilla QWERTY package that most of us have tolerated for all these years. This repo represents my nascent quest to unleash that more useful keyboard.

At first, this might sound no different than the typical Emacs/Vim/<Every-Other-Editor> tweakfest. But it is. I'm not talking about honing my editor-of-choice. I'm not talking about pimping out my shell. I want a more useful keyboard everywhere. Whether I'm in my editor, in the terminal, in the browser, or in Keynote, I want a more useful keyboard.

And ideally, I want the same (more useful) keyboard in every app. Ubiquitous keyboarding. Muscle memory. Don't make me think.

How do I go to the beginning of the line in this app? The same way I go to the beginning of the line in every app! Don't make me think.

How do I go to the top of the file/screen/page in this app? The same way I... Well, you get the point.

Some assembly required

In its current state, my more-useful keyboard is built on top of a few tools, and some custom keymappings for those tools (all of which are described below). Where possible, this repo houses the configuration files that power my more-useful keyboard. In the places where the customization requires manual steps, I describe those steps.

Below you'll find a step-by-step guide for building this more-useful keyboard from scratch.

More useful (for me)

cus·tom·ize (verb): to modify or build according to individual or personal specifications or preference [dictionary.com]

Any customization is, by definition, personal. While I find that these customizations yield a more-useful keyboard for me, they might not feel like a win for you.

These customizations currently provide a fraction of what I want from my more-useful keyboard. I find it to be a very useful fraction, but I don't consider it complete by any means.

Here's what it provides so far:

KeyRemap4MacBook Change Key Configuration

Dependencies

This setup is honed and tested with the following dependencies.

The Setup

Grab the bits

git clone https://github.com/jasonrudolph/keyboard.git

cd keyboard

mkdir -p ~/Library/Application\ Support/KeyRemap4MacBook

# Prepare custom settings for KeyRemap4MacBook
ln -s $PWD/keyremap4macbook/private.xml \
  ~/Library/Application\ Support/KeyRemap4MacBook/private.xml

Install the apps

Put control and escape on the home row

Goals

  • Tap caps lock for escape
  • Hold caps lock for control

Making it happen

  1. Launch PCKeyboardHack.
  2. Enable the "Change Caps Lock" option, and map caps lock to keycode 80. (80 is F19. I don't have a physical F19 key, so this setting will not conflict with any existing keys.) [screenshot]
  3. Launch KeyRemap4MacBook.
  4. In the "Change Key" tab, enable the "F19 to Escape/Control" option. [screenshot]
  5. In the "Key Repeat" tab, change the "[Key Overlaid Modifier] Timeout" to 300ms. (As recommended by Steve Losh, I find that this avoids accidentally triggering escape when you meant to trigger control.) [screenshot]

Unleash (S)uper (D)uper mode

Goals

  • Enable navigation (up/down/left/right) via the home row
  • Enable word navigation (option+left/right) via the home row
  • Enable other commonly-used actions on or near the home row

Making it happen

  1. Launch KeyRemap4MacBook.
  2. In the "Change Key" tab, enable the "(S)uper (D)uper Mode" option. [screenshot]

TODO

About

Toward a more useful keyboard

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published