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…
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.
Choose which Arsenik features to use from the following options:
On an ISO keyboard, it permutes the extra down-left key to ease the angle on your left wrist when typing.
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).
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.
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.
This is a very basic variant of the Miryoku principle: one layer on each thumb key, and symmetrical modifiers on the home row.
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!
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.
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.
A basic Navigation layer has an arrow cluster on the left hand to move around and a num pad on the right hand.
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
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 toggled
Fn layer toggled
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.
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. :-)
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.
Some combinations of three keys might not work on a standard keyboard, due to ghosting, which is a hardware problem that Kanata cannot fix. If you have this problem, you have to release a key to be able to press another one.
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.
- 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
- 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…)
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!