Quick Facts
- Author
- Nikolay Nemshilov
- Year
- 2016
- Finger Map
- Traditional
Quick Facts
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.
There are two downloads available for Windows:
Method | Admin Required | Notes |
---|---|---|
Native | Yes | Official Microsoft method for adding custom keyboard layouts. |
AutoHotkey | No | Requires 3rd party remapping software. Does not take effect until AutoHotkey is launched. |
Install Microsoft Keyboard Layout Creator (MSKLC):
Download the KLC file for Halmak:
Open the downloaded .klc
file in Microsoft Keyboard Layout Creator.
In MSKLC, go to Project → Build DLL and Setup Package.
Navigate to the generated folder and run setup.exe
as Administrator.
Follow the installer instructions to complete the installation.
Go to Windows Settings → Time & Language → Language & Region → Language Options → Add a keyboard and select your new Halmak layout.
Install AutoHotkey:
Download the AutoHotkey script file for Halmak:
Save the downloaded .ahk
file to a convenient location on your computer.
Double-click the .ahk
file to run the script. You should see the AutoHotkey icon appear in your system tray.
Make sure you know how to type your computer password using Halmak.
Your keyboard is now remapped to Halmak! The script will continue running until you close it or restart your computer.
To run automatically on startup: Copy the .ahk
file to your Windows Startup folder:
C:\Users\[YourUsername]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
You can quickly access this folder by pressing Win + R, typing shell:startup
, and pressing Enter.
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:
Extract the downloaded zip file.
Install the .keylayout
file:
Run one of the install scripts from the extracted folder:
To install for a single user: Copy the .keylayout
file from the extracted folder to ~/Library/Keyboard Layouts
. Create the folder if it doesn’t exist.
To install for all users: Copy the .keylayout
file from the extracted folder 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:
Download the XKB file for Halmak:
Extract the downloaded tar.gz file.
Run the install script from the extracted folder:
sudo ./install-system.sh
This copies the layout files to /usr/share/X11/xkb
and registers the layout with the system.
Add the layout to your desktop environment. Refer to your desktop environment's documentation for specific instructions.