Skip to content
Steven's minimally documented, excessively complex, poweruser keyboard stuff. For the brave only.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Implemented features

This repository contains a (relatively) stable, working-copy of my own personal keyboard scripts. I have not quite started using my layout full-time (I am still hunting-and-pecking for some things), mostly because I’ve been too busy to get application-specific spacing implemented (such that autospacing is correctly defined for various use cases). However, a lot of other functionality is already in place. Among other things, this project:

  • Correctly autospaces all punctuation (according to Org mode markup, at the moment).
  • Correctly autocapitalizes around .?! and Enter
  • Automatically nests “” () [] etc. (either showing the closing key immediately, or keeping track of it internally and letting you close pairs with the closing parentheses key, saving many keypresses in the long run).
  • Implements what I call “leader key behavior” (tap a layer key to activate a layer for a single press) and “modifier key behavior” (hold a layer key to keep a layer activated for multiple presses) with dual use keys.
  • Implements prefixing modifier keys combinations (e.g., tap Shift, then Control, then a key to send {Ctrl + Shift + Key}), while still supporting normal behavior.
  • Supports intelligent, regex-defined text expansions (e.g., wo –> without; st –> something; etc.) that correctly autocapitalize and expand around punctuation and spacing (including autospaced things).
  • Supports expand keys to prefix individual letters for incredibly common words like “the”, “and”, and so forth.
  • Supports a universal Vim mode, including visual mode and visual line mode, across the entire operating system. Also supports tapping-then-holding Space for a transient Vim state (mostly useful for moving the cursor around without having to jump in and out of Vim mode).
  • Uses a simple status bar to display relevant program information, such as the currently active layer, the spacing status, and other such things.

A more useful project for most people

This project will not be useful to most people since configuration is not accomplished via a GUI (and quite a bit is hardcoded based upon my specific setup). A more generalized project is at In the near future, this other repository should contain GUI configuration and better documentation. After finishing a few more things in this repository (to get the scripts to the point where I am using them full time), my focus will shift to the other repository until I achieve relative feature parity, at which point this repository will be refactored to be built using the tools in that repository.

You can’t perform that action at this time.