Download
JSON files for PatorJ style KLAs
These JSON files can be used with most Patrick Gillespie (PatorJ) derived KLAs.
(ex. klanext.keyboard-design.com, or PatorJ's, SteveP's, Den's forks)
(ex. klanext.keyboard-design.com, or PatorJ's, SteveP's, Den's forks)
Hands Down Neu (ergo, ansi, angle-mod, angle-ansi-thumbshift, janiso)
Hands Down Vibranium (ergo) new 👍🏻 (archive of all Vibranium variations)
Hands Down Titanium (ergo) new 👍🏻
Hands Down Rhodium (ergo) new 👍🏻
Hands Down Gold (ergo)👍🏻
Archive of Hands Down Neu variations ergo eu JSON files above (updated 24/2/2 14:05 GMT)
Other layout JSON files
(some are no longer actively recommended, but they're still as good as they were when they were created. You may find ways to learn from these, or to profitably modify them to suit your own needs.)
Hands Down Dash (ergo)👍🏻
Hands Down Élan (ergo)👍🏻
Hands Down Reference (ergo, matrix, ansi, sym)
Hands Down Alt (ergo, matrix, ansi, sym)
Hands Down Alt-tx rev. (ergo, matrix)👍🏻
Hands Down Alt-nx rev. (ergo, matrix)👍🏻
Hands Down Alt-ex rev. (ergo, matrix)👍🏻
Hands Down Polyglot (ergo, matrix, sym)
Notarise rev. — Very easy to learn QWERTY alternative (ergo, ansi)
Ingulish — 28 key minimalism inspired by Japanese phonetics (ergo)
neauwr-bits — (ergo)
Blickensderfer 5 21c. — updated from the 1902 original (ergo)
👍🏻 These layouts put a letter or other glyph on a thumb, and therefore require a keyboard with two dedicated thumb keys.
archive of ergo JSON files above (updated 23/05/09, 13:35 GMT)
archive of ansi & sym JSON files above (updated 23/05/09, 13:35 GMT)
Note on KLA compatibility:
ergo (i.e. ergodox/atreus/corne) and ansi (typical row stagger) JSONs will work on any KLA. For this reason I design for ergo first, because I evaluate all layouts on several KLAs simultaneously.
matrix (for Preonic/Planck) will work properly only on Ian's kla.keyboard-design.com, klatest.keyboard-design.com, klanext.keyboard-design.com
ortho (for Preonic/Planck) will work only on SteveP's fork.
Sym is the symmetric typing system applied to Hands Down ansi/iso/jis layouts. Sym JSONs will work on any KLA. The "Symmetric" typing offers slightly better ergonomics and stats on ansi/iso/jis keyboards. It is more similar to typing on an ergo or matrix/ortho keyboard, so it is easier to switch between keyboard types.
These are the JSONs that I used for the tests mentioned on this site. They all have thumb shift (except for the std ansi layouts). My own implementations of Hands Down are on small keyboards (36 keys or less), with the numbers are on separate layers, but they are presented here on separate keys (in a similar layout) to work better with the KLAs. There are a few differences with my own implementation due to KLA design limitations that would likely be even better stats (use of AltGr, same keys on other layers, etc. (Much thanks to Ian Douglas of keyboard-design.com for help making sure the files were complete and accurate.)
Playing with punctuation and other symbols can also improve the scores a tiny bit, or at least put them in places that are most comfortable for your specific needs. Most other layouts would also benefit from the same treatment. I use the /,. punctuation variation shown in the layout descriptions pages, but the JSONs may not all have that arrangement—the statistical difference is noticeable, but quite variable between KLAs, so you should pay attention to the arrangement that works best for you before judging any results.
You should be able to download these files, then paste them into the analyzer of your choice, and compare Hands Down against other layouts with your own sample texts. It is very important to note that each analyzer has its own assumptions for scoring. So, different sites and different sample texts will show different results....that's sort of the point—you should try it out with your own data and on an analyzer that you understand to see if it is something that might work for you. Be sure to read each analyzer's explanation of weighting so the resulting scores will be more meaningful.
Native OS support files (for standard ansi/iso/jis keyboards) ⌨️
These OS support files below hwere built with free layout creation tools that are used to produce standard OS layout files. They're very basic, no frills layouts. It's just the alpha layout, but it works as any other layout would on the OS, with shift and other mods in the typical locations, number row and other keys are (mostly) unchanged in the standard layouts. All should work fine on a typical keyboard supported by the OS (ansi/iso/jis). A symmetric programmer's version may be included, identified by “#” in the layout name (pronounced "sharp" as in music or in the C programming language variant), which is designed with the assumption that you have a dedicated 10key nearby, either on the same board, in a separate layer, or as a separate board, so the num row is an optimized symbol row. There is no code embedded, so no combos or adaptive keys.
Mac OS
This bundle includes Neu, Reference, Alt, plus the Hands On, and Notarise layouts.
Ukulele was used to create the Mac OS layout bundle and installer disk image. There is no warranty and no support, expressed or implied. Use with appropriate caution.Keyboard Layout Bundle
A zip of just the MAC OS layout bundle.Executable Keyboard Layout Installer
Disk image with installer created with Ukulele. Use with appropriate caution.
Windows
Microsoft Keyboard Layout Creator was used to create the layout file and installer. There is no warranty and no support, expressed or implied. Use with appropriate caution.Hands Down Neu
Just the Microsoft Keyboard Layout Creator file.Hands Down Neu Installer (zipped)
Run "setup.exe" in the HDNeu folder. Use with appropriate caution.
Linux (not yet available)
QMK files
You could have a look at my QMK files to see how I've implemented Hands Down on my boards.
Each variation has a config file (##-config.c) that defines the core keys and combos for a 34 key board (3x5+2) and a file for adaptives (##-adaptive.c). I left a lot of possibly unecessary combos and adaptives defined, because I'm exploring the limits of these features. I doubt that they are all useful to everyone, let alone necessary, so don't hesitate to edit/delete what you don't need.
my take on combos, with appx. 100+ defined. Those that are dependent on the layout mnemonics are placed on the keyboard in the config file. Those that are independent of the alpha locations (according to my habit) are in the common combo def file (in the moutis_combo_def.c, moutis_combo.c, moutis_combo.h files).
my take adaptive keys in the function process_adaptive_key (in the ##-adaptive.c file).
I currently don't use u/replicaJunction's implementation for footprint issues. Maybe someday.my take semantic keys for platform independence. Currently a simple table and a couple macros. It works, but I have plans to expand this when I complete the move to more capable MCUs.
other keymap shenanigans for Neu variations.
ZMK files
I currently use the Hands Down Vibranium-vv variation (R on thumb). My implementation is fairly complete, approaching feature parity with my QMK boards such that I can use them as daily drivers for extended periods. You can use this as a starting point for your own, making the changes necessary for whatever variation you choose. Eventually I will add templates for Neu and Gold variations, as well. This is for your interest only. I cannot support your implementation, and offer no warranty of any kind.
In addition to the base alpha layer, those repositories also have my implementation of the following add-on features:
Essential combos for Hands Down Vibranium
combos for Q/Qu, Z (They are also on another layer)
undo/cut/copy/paste, close/quit etc.
H digraphs (Th, Ch, Wh, Sh, Gh, Ph).
Personal Pronouns (I've, you've, we've, etc.).
Adaptive Keys
Custom hold-tap behaviors, macros, and sticky layers to generate Adaptive Keys. This is a radically different way to implement this feature, and it does behave in a few subtly different ways from QMK, but it does work quite well. If you use only one system, I suspect it won't be an issue.
Linger Keys
Custom hold-tap behaviors and macros to approximate Linger Keys. "Technically," my definition of Linger Keys as I've implemented it in QMK differs from hold-taps in that my lingers trigger on first press, AND also trigger when held (both press and release events can respond). However, standard hold-tap behaviors can approximate the net result of lingers closely enough to be entirely usable. It mostly just lacks the immediate feedback of the QMK lingers.