Halmak Keyboard Layout
This is an AI designed keyboard layout that was built within the keyboard-genetics project. More details and a documented process can be found on the blog Nikolay Rocks.
Features
- Build based on the real world hand movements analysis
- Nearly maximal possible typing efficiency
- Very low overall fingers movement distance
- Very low same finger / same hand usage overheads
- Very low overall horizontal hands movement
- Highly symmetrical design that accounts for individual fingers strength
- Designed with the modern, web based English in mind
Comparisons
During the research I've identified the following results: in terms of efficiency
QWERTY
-0%
(baseline)Dvorak
-+77%
Colemak
-+84%
Workman
-+101%
Halmak
-+134%
Please refer to the article Halmak Reborn for the more detailed breakdown of the results.
All scripts are opensourced and can be verified in the keyboard-genetics repository.
The Name
The name is a combination of HAL-9000
, as a reference to the layout being
designed by an AI. And, Dvorak
as a gratitude to Mr. Dvorak for his dedication
to the layouts optimizations process. The letter m
in between is just to make
it sound nicer. Or is it!?...
Installation
- Git clone all the stuff somewhere
- Copy
Halmak.bundle
into your/Library/Keyboard Layouts
folder (create if it is missing) - Sign out, Sign in
- Go to the keyboard preferences and add the
Halmak
layout - Ask here in issues if nothing works
Android installation for physical keyboards
- Install Extra Physical Keyboard Layouts from the Play Store
Source code is available on github - Connect a physical keyboard to your Android device e.g. via bluetooth or OTG
- Select the Halmak layout in your system menu e.g. System > Language and Input > Physical keyboard > Keyboard Name
Integrations
Kinesis Advantage 2
To enable native key mapping for Halmak on your Kinesis Advantage 2
- Download our
1_qwerty.txt
file - Program+Shift+Escape to enable power user mode (should see 4 LED flashes)
- Program+F1 to mount to the keyboard as a drive (should see a few flashes)
- Drag the downloaded
1_qwerty.txt
file intoADVANTAGE2
/active
- Open Disk Utility, right-click on the drive, select Eject (must be "Eject", as unmount will not write the file)
- Program+F3 to enable QWERTY, then Program+1 to enable our Halmak modification of QWERTY
Refer to the Kinesis Advantage 2 support page for assistance.
Type Fu
To learn Halmak, we have an integration for Type Fu.
- Download our
Halmak.tfl
file - Open Type Fu
- Preferences
- Keyboard
- Hamburger menu
- Import from File
- Select the file you downloaded from the first step
Copyright & License
Again, I'm not sure if there is a point to this. But I guess it's MIT.
Copyright (C) 2016 Nikolay Nemshilov