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

trilowy 19ed5fcc56 docs: readme and images matching actual Arsenik (#26) 10 mēneši atpakaļ
img 19ed5fcc56 docs: readme and images matching actual Arsenik (#26) 10 mēneši atpakaļ
kanata 19ed5fcc56 docs: readme and images matching actual Arsenik (#26) 10 mēneši atpakaļ
qmk 19ed5fcc56 docs: readme and images matching actual Arsenik (#26) 10 mēneši atpakaļ
.gitignore 948bfea3d8 Modular version by default, fixes multiple layouts bugs (#20) 11 mēneši atpakaļ
LICENSE 2d3b68dd10 Initial commit 1 gadu atpakaļ
README.md 19ed5fcc56 docs: readme and images matching actual Arsenik (#26) 10 mēneši atpakaļ

README.md

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 — e.g. 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 on your regular keyboard features that were normally only accessible to programmable keyboard.

Note: You might 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 the 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” programmation 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 supports it

NumRow layer on a 33-key keyboard

Even on keyboards that do have a physical number row, this NumRowlayer can be interesting to use in order to minimize finger movements furthermore.

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 our 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 some 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/Colemak works out-of-the-box with the Lafayette Symbols layer because there isn’t other characters in AltGr.

Azerty

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

Bépo

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

Optimot

Do not enable angle mod for Optimot as it is already in angle mod with its driver.

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

Bonus: Spice It Up

From there, you can edit the configuration to match your liking, 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 seams useful to you, a lot of available keys are defined in Kanata source code.

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

Note that Kanata can also use the laptop’s trackpoint buttons (e.g. 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 (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 Symbol layer, which has been shamelessly 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;
  • 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, keyboard, layouts and many more.

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