Giter Site home page Giter Site logo

keymaps's Introduction

Keymaps

This repository contains the keymaps for my split keyboards, with an explanation and diagrams of each layer's functionality.

The repository currently contains my keymaps for:

  • Duckyb's Urchin Keyboard
    • Runs ZMK firmware built through Github Actions
    • Uses nice!nano wireless controllers and nice!view displays
    • See keymaps/urchin
  • davidphilipbarr's Ferris Sweep Keyboard
    • Runs ZMK firmware built through Github Actions
    • Uses nice!nano wireless controllers with no displays
    • Extremely minimal design requiring no diodes
    • See keymaps/sweep
  • SplitKB's Aurora Corne
    • Runs QMK firmware built locally
    • Uses the Elite-Pi controller (RP2040 based)
    • Utilizes 34 keys (out of the 42 available)
      • 34 keys is all you need
    • See keymaps/aurora-corne

Layers

All keyboards share the same core hardwired layers (built into the controller's firmware) and software functionality layers (based on external applications).

Core layers

There are 4 core layers. These layers, built into the keyboard's firmware, are used for everyday typing and coding. They are all accessed through the main layer. Each has its own purpose, with the Alpha layer containing all letters, the NumNav layer having the numbers and navigation keys and the Symbol layer having everything else. In order:

  • Alpha layer

    • Default layer
    • Contains all letters in a QUERTY arrangement
    • Uses mirrored home row mods for ⌘ ⌥ ^
    • Implements Hyper and Meh keys with tap and hold
    • It is used to access al other layers
      • Uses the right cluster to access the NumNav and Symbol layers
      • Uses the N and B keys to access the one-handed layer
  • NumNav layer

    • Contains the number row in a laptop-style arrangement
    • Has the navigation keys with hard-coded modifiers, for easier navigation in macOS
    • Includes one-handed media controls and two-handed volume controls
    • Includes ⏎ ⎋ ⇥ and keys, designed to be easily chorded
  • Symbol layer

    • Includes all main symbols
    • Keys are arranged with positional semantics in mind
    • The most used keys are concentrated around the home row
  • One-handed layer

    • The layer is mirrored in both the left and right halves of the keyboard
    • It is accessed from the main layer with a index (or thumb) finger press on N or B
    • Includes easy access to media controls and arrow navigation

Functionality layers

There are 3 additional software functionality layers. These layers are not hardwired into the software, rather they use third-party applications to quickly launch programs, manage windows and spaces.

  • App launcher layer

    • Uses the Meh☆ key to quickly launch (or bring into focus) the most frequently used apps
    • The Meh☆ key is accessed via a holding the space key
    • App launching is implemented using the Thor launcher
  • Window management layer

    • Includes multiple shortcuts for manipulating the focused window
    • Shortcuts are mapped to a combined press of and ^ (jk on the right half), which allows all shortcuts to be swiftly chorded
    • Shortcuts are implemented using Rectangle
  • Space management layer

    • This layer is accessed by pressing ^ and
    • Enables pure keyboard based movement across macOS
    • Quickly switches between spaces, windows and focus across multiple app instances
    • Shortcuts are implemented using native macOS and Amethyst

It is worth noting that in order to be fully keyboard-based you cannot use macOS's fullscreen (accessed through the green button in the top-left corner of a window). Instead, you can fullscreen the active window with a window management shortcut (⌥ ^ + S for me). While you lose some screen real state, you can be more agile while switching windows and you keep the menu bar always visible.

Ideally, you should create a discrete number of spaces and distribute your windows across them. You can then use the space management layer to quickly hop between them, keeping everything organized and, more importantly, ergonomic.

Diagrams

Here are diagrams for all layers. The Affinity Designer template used to create these diagrams is stored in diagrams/template.

Color legend:

  • Orange: Home row modifiers
  • Green: Tap and hold actions
  • Blue: Hold-to-layer action

Main layer

Left Right

NumNav layer

Left Right

Symbol layer

Left Right

One-handed layer

Right (mirrored)

Functionality Layers

App Launcher Layer

Left Right

Window Management Layer

Left Right

Space Management Layer

Left Right

keymaps's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.