Halmak
| Finger | 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 |
|---|---|---|---|---|---|---|---|---|
| Usage | 8.35% (P96) | 9.48% (P87) | 10.59% (P29) | 12.10% (P39) | 11.10% (P47) | 12.16% (P27) | 10.02% (P62) | 8.98% (P95) |
| Same Finger | Full Scissor | Half Scissor | Lat. Stretch | |
|---|---|---|---|---|
| Bigram | 2.09% (P88) | 0.03% (P10) | 1.71% (P58) | 0.35% (P16) |
| Skipgram | 4.53% (P45) | 0.19% (P33) | 1.81% (P16) | 0.59% (P5) |
| No Thumbs | Left Space | Right Space | |
|---|---|---|---|
| Weak-ish Redirs. | 0.46% (P26) | 1.18% (P77) | 1.20% (P86) |
| Weak Redirects | 0.31% (P49) | 0.15% (P50) | 0.15% (P50) |
| Other Same Finger | 21.50% (P74) | 14.66% (P82) | 14.66% (P82) |
| Rolls : Alts | 1.15 (P4) | 1.61 (P39) | 1.34 (P17) |
| 2-Roll In : Out | 1.06 (P39) | 0.93 (P34) | 1.15 (P52) |
| 3-Roll In : Out | 2.65 (P66) | 0.75 (P22) | 1.48 (P59) |
- Author
- Nikolay Nemshilov
- Year
- 2016
- Finger Map
- Traditional
Halmak is notable for being the first keyboard layout claimed to be designed by AI. The program used to create Halmak is similar to Klausler’s evolution program in that both programs simulate a series of typing tournaments and the winners of each round undergo mutations to produce the next generation of competitors. Unlike Klausler, Halmak’s genetics program evaluates layouts based on hand-chosen penalties rather than empirical keystroke timing data. Other evolutionary programs such as CarpalX take this latter approach as well, though most commonly using simulated annealing instead of tournaments.
Halmak heavily de-emphasizes center column usage, and was the first layout to push punctuation into the center columns to do so. Halmak claims to be “30% better than the best thing”. As far as stats go, its hand usage is almost exactly 50%/50% (excluding thumbs), and it successfully de-emphasizes the index fingers. However, it has high SFBs and SFTs relative to MTGAP, another evolved layout, and Colemak Mod-DH, which came out two years prior and also de-emphasizes center columns.
Install
Section titled “Install”Kanata is a keyboard remapper that works on Windows, macOS, and Linux.
-
Install Kanata by following “Step 1: Set Up Kanata” in Nova’s Kanata setup guide:
-
Download the Kanata config file for Halmak:
-
Make sure you know how to type your computer password using Halmak.
-
Run Kanata with the downloaded config file and make sure the layout works as you expect:
kanata --cfg path/to/config.kbd -
To have Halmak activate whenever your computer starts up, follow the instructions to “Automatically start Kanata”:
There are two downloads available for macOS:
| Method | Admin Required | Notes |
|---|---|---|
| Native | Optional | Does not require 3rd party key remapping software. Admin is required to install for all users and use on first login. |
| Karabiner-Elements | Yes | Requires 3rd party key remapping software, including the installation of a Driver Extension. Allows for remapping of only specific keyboards. |
-
Download the .keylayout file for Halmak:
-
Install the
.keylayoutfile:Copy the downloaded
.keylayoutfile to~/Library/Keyboard Layouts. Create the folder if it does not exist.Copy the downloaded
.keylayoutfile to/Library/Keyboard Layouts. -
Restart macOS.
-
Open System Settings.
-
Go to Keyboard → Text Input → Input Sources → Edit… and add your new Halmak layout.
-
Press the “+” button at the bottom left.
-
Search for “Halmak,” select your new layout, and press Add.
-
Install Karabiner-Elements:
-
Download the Karabiner rule file for Halmak:
-
In Karabiner-Elements Settings, go to “Complex Modifications,” then press “Add predefined rule” at the top.
-
Make sure you know how to type your computer password using Halmak.
-
Scroll down to the “Halmak” section and enable the rule you want.
“All keyboards” remaps Halmak onto all keyboards while connected to this computer. Select this reason unless you want to exclude some keyboards from remapping.
“Built-in keyboard only” remaps your device's built-in keyboard, as well as any other keyboard for which “Treat as built-in keyboard” (under the “Devices” section) is enabled. Select this option if you plan to map Halmak onto an external keyboard using custom firmware.
-
To use Halmak on the password entry screen before logging in, follow the official instructions: