Fork of https://github.com/OneDeadKey/arsenik containing my own dragon config

trilowy caa47c3f12 fix: remove useless sym macro definition to fix angle-mod only (#24) 11 maanden geleden
img 948bfea3d8 Modular version by default, fixes multiple layouts bugs (#20) 11 maanden geleden
kanata caa47c3f12 fix: remove useless sym macro definition to fix angle-mod only (#24) 11 maanden geleden
qmk 948bfea3d8 Modular version by default, fixes multiple layouts bugs (#20) 11 maanden geleden
.gitignore 948bfea3d8 Modular version by default, fixes multiple layouts bugs (#20) 11 maanden geleden
LICENSE 2d3b68dd10 Initial commit 1 jaar geleden
README.md 948bfea3d8 Modular version by default, fixes multiple layouts bugs (#20) 11 maanden geleden

README.md

Arsenik

Configure your keyboard (even if it is not programmable) with a beginner-friendly, Miryoku-like approach to minimize finger movements!

You can choose your options:

  • angle-mod (by default the only option activated)
  • 3 home-row mods (HRM) per hand for Ctrl, Alt, Super
  • 3 layer-tap keys under the thumbs: Alt (or Shift in HRM)/Backspace, Navigation/Space, Symbol/Return

base, navigation and sym layers on a 33-key keyboard

Bring the keys to your fingers, rather than moving your fingers to the keys!

  • A long press on the Return key brings up the Symbol layer, where all programming symbols are arranged for comfort and efficiency.
  • A long press on the Space bar brings up the Navigation layer, with a numpad, cursor navigation (ESDF) and one-hand shortcuts.

This is how modern ergonomic keyboards work — e.g. Planck, Atreus, Corne, Ferris… The goal here is to propose an approach that works with any keyboard, including your laptop’s.

Main Benefits

  • Shift, Backspace, Return under the thumbs!
  • all numbers and programming symbols in the comfortable 3×10 zone
  • symmetrical modifiers on the home row
  • easier left-hand shortcuts
  • works with any keyboard

Unlike Miryoku which requires 6 thumb keys, Arsenik has been designed to work with standard ANSI/ISO/laptop keyboards, leveraging the spacebar and the two Alt/Cmd keys.

Pick Your Poison!

Adjusting to compact keyboard layouts isn’t easy, but Arsenik is designed for a step-by-step approach.

1. Supercharge Your Thumbs

If you’re new to mod-taps, we suggest to start by adding the “layer-tap” option where only the thumbs are affected:

  • the left thumb key remains a Cmd or Alt key when held, but emits a Backspace when tapped;
  • the right thumb key brings the Symbols layer when held (similar to an AltGr key), and emits Return when tapped;
  • the spacebar brings the Navigation layer when held.

alt, navigation and sym layers under the thumbs

Having Backspace and Enter under the thumbs is enough to reduce the pinky fatigue very significantly. And using the Symbol and Navigation layer further reduces hand and finger movements.

2. Enable the Home-Row Mods

When you are familiar with mod-taps, it’s time to enable them on the homerow with the “hrm” variants:

  • FDS and JKL become Ctrl, Alt, Super when held long enough;
  • the left thumb key can now emit a Shift rather than Alt when held.

homerow mods on SDF keys

This is a very basic variant of the Miryoku principle: one layer on each thumb key, and symmetrical modifiers on the homerow.

3. Spice It Up

  • the 300 ms delay before a key becomes a modifier has been chosen to be easy for beginners. Once used to mod-taps, you may want to reduce it so keyboard shortcuts can be done more quickly;
  • more layers available to enable (Vim-navigation, num-row, etc).

A Vim-friendly mod:

  • 3 home-row mods per hand for Ctrl, Alt, Super
  • 3 layer-tap keys under the thumbs: Shift/Backspace, Navigation/Space, Symbol/Return

base, navigation and sym layers on a 33-key keyboard

It uses 4 layers (instead of 3 for Arsenik), which makes it a natural fit for 34-key keyboards like the Ferris.

  • Vim-like navigation in all apps, with any OS layout
  • super-comfortable Tab and Shift-Tab
  • mouse emulation: previous / next and mouse scroll
  • easy left-hand shortcuts

Vim navigation layer on a 33-key keyboard

This Navigation layer has a few empty slots on purpose, so you can add our own keys or layers.

NumRow >> NumPad

In Symbol mode, pressing the left thumb key brings up the NumRow layer:

  • all digits are on the home row, in the order you already know
  • the upper row helps with Shift-digit shortcuts
  • the lower row has dash, comma, dot and slash signs to help with number / date inputs

NumRow layer on a 33-key keyboard

Even on keyboards that do have a physical number row, this NumRow layer can be interesting to use in order to minimize finger movements further more. And it makes it easier to mix symbols with numbers (e.g. [0]).

Downloads

kanata

Non-programmable keyboards are supported through kanata.

QMK

The QMK implementation is a bit different:

  • it takes advantage of the 4 thumb keys
  • the Navigation layer uses a mouse emulation on the left hand

In fact, this is what I ended up with for my beloved Ferris in the first place, and Arsenik/Selenium is an attempt to fit most of this magic into my laptop keyboard.

QMK code

# from the `qmk_firmware` root:
make ferris/0_2/bling:1dk:flash

Others

Other desktop implementations (kmonad, keyd…) would be nice to see as well.

Programmable keyboards should be trivial to configure with QMK, ZMK, Kaleidoscope, etc.

Related Projects

Inspiration

  • Miryoku for the main idea of using modifiers on the homerow and layer shifters under the thumbs;
  • Lafayette and Ergo-L for the Symbol layer, which has been blatantly taken as is;
  • Extend, Neo, Shaka34 for the Navigation layer.

Alternative Symbol Layers

Non-Goals

  • being the most efficient 3×5 layout — Miryoku is probably the most advanced approach for that, at least on custom 36-key keyboards;
  • fitting any OS layout — Arsenik works best if your OS layout has either no AltGr layer at all (e.g. QWERTY, Colemak, Workman…), or an optimized AltGr layer (Lafayette, Ergo-L…).

Similar Projects

  • Miryoku: 36 keys, 6 layers
  • Seniply: 34 keys, 6 layers, no layer-taps (“Callum-style”)

TODO

  • KMonad / Karabiner support
  • sample QMK / ZMK implementations for common keyboards