glove80-keymaps: the Engrammer layers and GACS home row mods for Glove80
Glorious Engrammer keymap for Glove80 keyboard
At a glance
- What is it?
- glove80-keymaps is a ZMK keymap for the Glove80 split keyboard that puts the Enthium layout under Miryoku style layers with GACS home row mods, and it can be cloned and built from a browser configurator. It is a rich layout for owners of one specific board, and it depends on a web configurator plus a local toolchain.
- Who is it for?
- Adopt this keymap if you already own a Glove80, run ZMK firmware, and want layered typing with home row mods and a web based configurator to adjust the timing. Do not adopt it if you want a general purpose layout or a standard keymap file you can edit by hand, and be aware that no license identifier is stated for the repository, so redistribution terms are unconfirmed.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly HTML, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 25, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A keymap for one specific split keyboard, with a factory layer to escape to
glove80-keymaps is a single board keymap rather than a general purpose layout pack. It targets the Glove80 and describes itself as the Glorious Engrammer keymap, using the Enthium layout with Miryoku style layers and home row mods. The README also states that other layouts, namely QWERTY, Dvorak and Colemak, as well as traditional pinky shifts, are provided to ease your transition.
That last point is the design philosophy in one line. The keymap assumes you are moving away from a conventional arrangement, so it hedges its bets: the layer stack is the interesting part, but the familiar arrangements remain reachable. The conventional approach, in contrast, would be a flat keymap with dedicated modifier keys and no layer stack at all. Layered typing buys you more keys in the same footprint and costs you a learning period, and this repository accepts that trade explicitly.
The file list backs up the scope. The top level holds keymap.zmk, keymap.dtsi, keymap.json, device.dtsi, define.dot.erb, define.dot, define.svg, default.json, world.yaml, emoji.yaml, a Rakefile, a rake script, a flash script, a layouts directory and a Dockerfile. This is ZMK shaped configuration, which means the user needs the board running ZMK firmware and comfortable with a Devicetree flavoured source tree rather than a single JSON file to paste somewhere.
Dual-function home row keys and what the GACS order actually sends
Home row mods are the mechanism at the centre of this keymap. The documentation defines them as dual-function keys that either send normal keycodes, such as the letter `A` or the number `1`, when tapped, or modifiers such as Shift or Ctrl when held. The tap and hold distinction is resolved by a timeout, which is where the timing settings later in this guide come in.
The default order in this keymap is called GACS, and the README spells out each letter:
- "G" means `LGUI`, which is the Win key in Windows, Cmd in macOS, Super in Linux. - "A" means `LALT`, which is the Alt key in Windows and Linux, Option in macOS. - "C" means `LCTL`, which is the Control key in Windows, macOS and Linux alike. - "S" means `LSFT`, which is the Shift key in Windows, macOS and Linux alike.
The result is that the four inner home row keys do double duty. Tapping `C` types the letter, holding it gives Control, so a chord like Ctrl plus something is one key press plus one extra tap away instead of reaching for a separate key. The Enthium arrangement puts the home row and thumb clusters in a different geometry from a standard board, and the README notes a specific consequence: `SPACE_FORGIVENESS` is defined for lingering taps on the thumb letter R in Enthium, which suggests the thumb area can trigger unwanted taps when a key is held a little too long.
Cloning and building the keymap from the browser configurator
Installation for this keymap is not a package manager step. The README points to a web configurator page and says to open the link to clone, customize and build the keymap for the Glove80. The page it names is a my.moergo.com Glove80 layout URL with a user identifier in the path, which is how a MoErgo hosted layout is normally cloned and edited.
The practical sequence is short. Open the configurator link, clone the layout, change what you want, and build. Customization happens in a text box rather than a form of toggles: the README instructs you to copy and paste a line atop the "Custom Defined Behaviors" text box in your clone. The three personal customizations the author keeps on top of the defaults are:
#define SPACE_FORGIVENESS // for lingering taps on thumb letter R in Enthium
#define THUMB_HOLDING_TIME 200 // prefer typing over faster layer activation
#define RIGHT_INDEX_STREAK_DECAY 80 // faster HRM shift cooldown (gcA alias)Reading those comments tells you more about the tuning philosophy than the values alone do. `THUMB_HOLDING_TIME 200` prefers typing over faster layer activation, meaning the thumb keys wait longer before switching layers so an ordinary letter tap is not stolen by a layer change. `RIGHT_INDEX_STREAK_DECAY 80` shortens the cooldown after a home row mod shift, which makes repeated combos such as `gcA` faster.
Beyond the configurator there are two other ways to look at the result. The README links an interactive layer map hosted on sunaku.github.io for an overview and documentation of every layer, and it points to a printable PDF of all layer diagrams in the README directory. A third link goes to the GitHub releases page for a visual overview of recent updates.
The operating system define quietly reorders your modifiers on macOS
Before typing anything you are supposed to tell the keymap which operating system it is driving. The README says to add one of the following lines, copied and pasted as appropriate, atop the same "Custom Defined Behaviors" box used for the other customizations:
#define OPERATING_SYSTEM 'L' // Linux
#define OPERATING_SYSTEM 'M' // macOS
#define OPERATING_SYSTEM 'W' // WindowsOn macOS this choice has a consequence beyond labels. The documentation states that if you set the operating system to macOS, the home row mods order is automatically rearranged into "CAGS", because macOS shortcuts tend to use the Cmd key in the way Windows and Linux use the Ctrl key. With the OS set to macOS, the C slot takes `LGUI` (Cmd) and the G slot takes `LCTL` (Control), which puts the modifier people actually use for shortcuts under their middle finger.
If you prefer the unmodified order on macOS, there is a single line to add, and the README says it inhibits the automatic rearrangement:
#define MACOS_USE_GACSThis is a small piece of engineering that tells you how carefully the keymap was tuned. It also creates a mild risk for anyone reading a layer diagram without setting the OS define first, since the printed layout will not match the one the firmware produces on a Mac.
A game-like difficulty dial for the tap and hold timing
Home row mods only feel good if the timeout is calibrated to how fast you type, so this keymap exposes that timeout as a difficulty level, described in the documentation as something like a setting in a video game. The available values are:
#define DIFFICULTY_LEVEL 1 // novice (500ms)
#define DIFFICULTY_LEVEL 2 // slower (400ms)
#define DIFFICULTY_LEVEL 3 // normal (300ms)
#define DIFFICULTY_LEVEL 4 // faster (200ms)
#define DIFFICULTY_LEVEL 5 // expert (100ms)Level 3 at 300ms is the default reading of the scale, and level 1 gives a novice a full half second before a hold becomes a modifier. Level 5 at 100ms is fast enough that a sloppy tap will read as a hold. The documentation notes that the setting can be disabled by omitting it or assigning a zero value, which is worth knowing because the one line you do not add is easier to reason about than a line you set to 0.
The two timing constants from the customization block layer on top of this dial. `THUMB_HOLDING_TIME 200` sets a separate hold threshold for thumb driven layer activation, and `RIGHT_INDEX_STREAK_DECAY 80` shortens the home row mod shift cooldown. So there are three separate time domains in play: the general tap and hold timeout, the thumb layer hold threshold, and the mod shift cooldown. The documentation does not publish per key timings, so a user who finds a specific key sticky is expected to adjust these global values rather than a single key entry.
Magic plus T3 to return to the Factory layer
A layered keymap is hostile to the first hour of use, and this repository treats that as a first class concern. The guide opens with what it calls an escape route back to familiarity, and names the Factory layer as useful for new users who have just unboxed the Glove80 or have not customized its default keymap.
The shortcut has two steps. Press and hold the Magic key, described as the bottom left corner key on the left half of the Glove80, then tap the left hand's T3 key, described as the furthest key on the upper arc of the thumb cluster. That combination toggles the Factory layer on and off, so the user can experiment with the custom layers while keeping a one gesture route back to the default arrangement.
The same tolerance shows up in the layout choices. QWERTY, Dvorak and Colemak are provided, and so are traditional pinky shifts, which are the conventional way of reaching the shifted characters without a layer. A user who finds the Enthium arrangement uncomfortable can start from a familiar alpha layer and move toward Miryoku style layers later. The cost of that flexibility is a larger configuration surface, since every one of those alternatives is a choice the user has to make and remember.
Generating the layer diagrams and building locally with a Debian container
The repository is a source project, not just a downloadable file, and it carries the tooling to regenerate its own documentation. A Dockerfile at the root provides that environment:
FROM debian:bookworm-slim
RUN apt-get update
# for Unicode in YAML files
ENV LANG en_US.UTF-8
RUN apt-get install -y locales \
&& sed -i "s/^# $LANG/$LANG/" /etc/locale.gen \
&& locale-gen
RUN apt-get install -y ruby rake graphviz graphicsmagick poppler-utils
WORKDIR /optThe image installs locale support explicitly because the project stores Unicode content in YAML files, which is what world.yaml and emoji.yaml at the repository root hold. The tooling set, ruby and rake for the build, graphviz for graph rendering, graphicsmagick for image work and poppler-utils for PDF handling, matches the presence of a Rakefile, a rake script, an ERB template for the layer diagrams in define.dot.erb, and a printable PDF of all layer diagrams in the README directory.
A flash script sits in the repository root as well, and the guide has separate Installing and Flashing sections alongside the configurator route. The choice between routes matters for how much control you keep: the browser configurator gives you a working build quickly with a limited set of boxes to edit, while the local toolchain lets you change the source templates, regenerate the SVG and PDF diagrams, and compile from source.
Commits in September 2026, a March release, and no stated licence
The maintenance picture has a clear shape. The last push was on 2026-09-23, and the repository is not archived, so the source tree is being edited on a recent schedule rather than abandoned. The release history shows version 52 dated 2026-03-01, preceded by two release candidates, v42-rc9 and v42-rc8, both on 2026-01-15. Publishing preview candidates before a numbered version is a pattern of letting people test an upcoming layout revision before it is called stable.
The README also names a License section in its table of contents, and a community channel on the MoErgo Discord for anyone who wants to ask about a specific key.
One gap deserves attention for an evaluator. The repository carries no license identifier in its listed files and no LICENSE file appears among the top level entries, which are .gitignore, Dockerfile, README.md, README/, Rakefile, default.json, define.dot, define.dot.erb, define.json, define.svg, device.dtsi, emoji.yaml, flash, keymap.dtsi, keymap.dtsi.erb, keymap.json, keymap.zmk, layouts/, rake, world.yaml. That means terms for copying, modifying and redistributing the layout are not stated in a way you can confirm from the files alone, which matters more here than for a script because a keymap is the kind of artifact people fork and publish variants of.
Editorial conclusion
Adopt this keymap if you already own a Glove80, run ZMK firmware, and want layered typing with home row mods and a web based configurator to adjust the timing. Do not adopt it if you want a general purpose layout or a standard keymap file you can edit by hand, and be aware that no license identifier is stated for the repository, so redistribution terms are unconfirmed. Verify first that your board is a Glove80, that the configurator page loads for your clone, and that the difficulty level you pick matches how long you are willing to hold a modifier.
Frequently asked questions
What is the Glorious Engrammer keymap for the Glove80?
It is a keymap for the Glove80 split keyboard that uses the Enthium layout with Miryoku style layers and home row mods, where home row keys send normal keycodes when tapped and modifiers when held. The README also provides QWERTY, Dvorak and Colemak layouts plus traditional pinky shifts.
How do I install the glove80-keymaps layout on my keyboard?
The README points to a my.moergo.com Glove80 layout page where you can clone, customize and build the keymap, and customization is done by pasting define lines into the "Custom Defined Behaviors" box of your clone. The guide also has Installing and Flashing sections, and the repository root contains a flash script.
What does DIFFICULTY_LEVEL change in this keymap?
It sets the home row mods tap and hold timeout, from level 1 at 500ms for a novice through level 5 at 100ms for an expert, with level 3 at 300ms as normal. The setting can be turned off by omitting it or assigning zero.
How do I switch back to the original keymap if I get lost?
Press and hold the Magic key in the bottom left corner of the left half, then tap the left hand's T3 key on the upper arc of the thumb cluster. That toggles the Factory layer on and off, giving you a route back to the default layout.
Can I build the keymap and its documentation locally?
Yes. The repository includes a Dockerfile based on debian:bookworm-slim that installs ruby, rake, graphviz, graphicsmagick and poppler-utils, with locale support for the Unicode in the YAML files. A Rakefile, a rake script and an ERB template for the layer diagrams support regenerating the SVG and PDF documentation.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/sunaku-glove80-keymaps)Was this useful?