Skip to content

OneDeadKey/arsenik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Arsenik

Ergonomics for any keyboard!

Configure your keyboard — even if it is not programmable — with a beginner-friendly approach to minimize finger movements!

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

Note: The keyboard layout presented here in the illustration is Qwerty but it works with other layouts as well — Azerty, Qwertz, Ergo‑L, Bépo…


Table of contents

Philosophy

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

Not sure if you should buy that expensive ergonomic keyboard?

Download a ready-to-use Arsenik configuration for Kanata, and enjoy your regular features that were normally only accessible to a programmable keyboard.

Note: You probably will benefit the most of Arsenik if you are touch typing.

Pick Your Poison!

Choose which Arsenik features to use from the following options:

1. Angle mod

On an ISO keyboard, it permutes the extra down-left key to ease the angle on your left wrist when typing.

Angle mod

2. Supercharge your thumbs with mod-taps

First: layer-taps

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 (in blue) — where all programming symbols are arranged for comfort and efficiency — and emits Return when tapped;
  • the spacebar brings the Navigation layer when held (in orange).

alt, navigation and sym layers under the thumbs

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

Next level: enable the Home Row Mods

When you are familiar with mod-taps, it’s time to enable them on the home row 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.

home row 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 home row.

3. Symbols layer

For the Symbols layer you can keep AltGr as-is. It is useful for keyboard layouts that rely heavily on the AltGr key.

But the real fun (especially for programmers) happens when we enable the “Lafayette” programming layer!

Lafayette symbols layer on a 33-key keyboard

Num row >> Num pad

If enabled, in Symbols 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
  • Space becomes a narrow no-break space for layouts that support it.

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 further minimize finger movements.

4. Navigation layer

A basic Navigation layer has an arrow cluster on the left hand to move around and a num pad on the right hand.

navigation layer on a 33-key keyboard

A superpowered Vim-friendly mod

For those who like to move the cursor with HJKL in all apps with any keyboard layout, it is possible to enable a Vim-like Navigation layer.

It also has:

  • super-comfortable Tab and Shift-Tab
  • mouse emulation: previous/next and mouse scroll

Vim navigation layer on a 33-key keyboard

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

NumPad and Fn lock these layers: they remain active without holding the key until escaped with Alt or AltGr.

NumPad layer on a 33-key keyboard

NumPad layer toggled

Fn layer on a 33-key keyboard

Fn layer toggled

5. Keyboard layout

Choose your keyboard layout among the available ones for Arsenik to work properly.

If your layout is not on this list, feel free to open an issue or upvote an existing one.

Here are some caveats for specific layouts:

Ergo‑L/Qwerty‑Lafayette/other Lafayette layouts

Arsenik works out-of-the-box with Lafayette layouts because their AltGr layer already matches Arsenik’s Symbols layer.

Qwerty/Colemak

Qwerty and Colemak work out-of-the-box with the Lafayette Symbols layer because there are no other characters typed with AltGr.

Azerty

By using the Lafayette Symbols layer, you won’t have access to the sign with AltGr. You might want to remap it elsewhere, or avoid using the Lafayette Symbols layer.

Bépo

By using the Lafayette Symbols layer, you won’t have access to the characters typed with AltGr. You might want to remap some of them elsewhere, or avoid using the Lafayette Symbols layer.

Optimot

Do not enable angle mod for Optimot as its driver already implements angle mod.

By using the Lafayette Symbols layer, you won’t have access to the characters typed with AltGr. You might want to remap some of them elsewhere, or avoid using the Lafayette Symbols layer.

Bonus: Spice It Up

From there, you can edit the configuration to your liking, and even contribute to Arsenik!

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.

In the NumRow layer, you can edit the dk1 to dk5 shortcuts to put whatever seems useful to you: the numerous available keys are defined in the Kanata source code.

In the Navigation layer, you can put a command on top of the (Qwerty) P key, e.g. for an application launcher.

Note that Kanata can also use the laptop’s trackpoint buttons (e.g. on a ThinkPad) as two additional thumb keys. :-)

Installation

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

  • load kanata.kbd with Kanata (installation instructions);
  • enable each feature by un-commenting the related line (a commented line starts with ;;) – you must enable one and only one line per feature;
  • live-reload the configuration with Space+Backspace (this requires the layer-taps feature enabled).

If you have a programmable keyboard you might want to take a look at the QMK version of Arsenik (work in progress).

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

Why “Arsenik”?

33 keys layout: the 33rd element of the periodic table.

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.

Inspiration

  • Miryoku for the main idea of using modifiers on the home row and layer shifters under the thumbs
  • Lafayette and Ergo-L for the Symbols layer, which has been shamelessly taken as is
  • Extend, Neo, Shaka34 for the Navigation layer

Alternative Symbols 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
  • Suiting every user out-of-the-box — Arsenik is proposed as a reasonable default configuration, but users are encouraged to customize it to suit their personal needs and preferences
  • 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”)

Join the community

French-speaking users may join the Ergo-L Discord server, which hosts a channel to talk about Arsenik, keyboards, layouts and much more.

Feel free to open an issue and/or a pull request if you encounter a bug or want to enhance the Arsenik experience!