Skip to content
The final version of the AI designed keyboard layout
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Halmak.bundle/Contents Halmak 2.1 release Dec 12, 2016 Updating the README file Dec 19, 2016
screenshot.png Halmak 2.1 release Dec 12, 2016

Halmak Keyboard Layout

This is an AI designed keyboard layout that was built within the keyboard-gentics project. More details and a documented process can be found in this blog


  • 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


During the research I've identified the following results: in terms of efficiency

  • QWERTY - 0% (base line)
  • Dvorak - +77%
  • Colemak - +84%
  • Workman - +101%
  • Halmak - +134%

Please refer to this article for the more detailed breakdown of the results.

All scripts are opensourced and can be verified in the keyboard-gentics 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!?...


  • 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


There is an unofficial support module for the TypeFu app that provides support for the Halmak layout:


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

You can’t perform that action at this time.