Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glove80 Control Surface

Bind Glove80 keys to desktop integrations, actions, live states, colors, and animations.

Glove80 Control Surface is an open-source project for turning a MoErgo Glove80 into a software control surface without giving up its normal keyboard layout. Desktop integrations can attach live state and actions to physical keys.

Important

This repository is in the design and hardware-validation phase. It does not yet contain firmware that should be flashed. No release is currently installable.

The idea

The product has two independent planes:

  • Ambient display: selected keys can show live status while the keyboard is being used normally.
  • Momentary interaction: holding a deliberate trigger temporarily makes those keys invoke their assigned actions.

Releasing the trigger always restores the normal keymap. If the desktop session expires, temporary lighting clears and the interaction layer cannot capture new presses.

The first product has two integrations:

  • Codex: the user chooses a task-board region once; current tasks are allocated stably across its keys and show idle, working, completed/unread, needs-input, or failed state.
  • Calendar: a key represents the next qualifying meeting from calendars selected by the user and becomes more prominent as the meeting approaches.

None of those concepts belong in the firmware. They are host-side integrations using a generic control-surface protocol.

Product model

Glove80 firmware
  ├── renders a leased scene across both 40-key halves
  ├── runs solid, pulse, and blink locally
  └── emits key down/up events in a momentary interaction layer

One macOS application
  ├── owns the USB HID session
  ├── stores bindings for every available RGB cell
  ├── runs built-in integrations
  ├── resolves semantic state into accessible visuals
  └── shows a labeled HUD while the interaction layer is held

See Product model, Architecture, User experience, and Desktop application plan. The internal semantic boundary is detailed in Integration model. The two initial experiences are specified in Codex integration UX and Calendar integration UX.

Principles

  1. Normal typing is inviolable. A crash or disconnect must not strand the keyboard in a control mode.
  2. Display and interaction are separate. Status may remain glanceable while typing; only an explicit momentary trigger changes what a key press means.
  3. Firmware is generic. It understands cells, events, scenes, effects, and sessions—not calendars, task systems, or individual applications.
  4. Bindings are dynamic. Assigning an integration to a key must not require reflashing firmware.
  5. Animations run on the keyboard. The host sends semantic effects instead of streaming RGB frames.
  6. Integrate narrowly. Existing MoErgo/ZMK configuration remains the source of truth; arbitrary keymap source rewriting is not an initial promise.
  7. Flashing is explicit. Builds are pinned and hashed, and recovery uses a previously saved or reproducibly rebuilt known-good artifact.
  8. No arbitrary remote ZMK execution. The host cannot invoke reset, bootloader, bond deletion, or unrestricted firmware behaviors.

Initial target

  • MoErgo Glove80 with RGB
  • macOS
  • USB transport first
  • all 80 RGB cells across both halves as the product target
  • one macOS process with local configuration
  • two built-in integrations: Codex and Calendar
  • solid, pulse, and blink
  • a labeled on-screen HUD during momentary interaction

Implementation expands in measured steps: preserve the existing six-cell experiment as a regression fixture, validate the complete 40-cell left frame, then synchronize and validate the 40-cell right frame. A release for the both-RGB Glove80 is not complete until all 80 cells are addressable. Bluetooth, a public plugin SDK, and cross-platform support remain separate evidence-gated expansions.

Repository status

This initial repository intentionally contains specifications and decisions, not an application skeleton. Technology choices should follow validated requirements rather than quietly becoming requirements themselves.

Contributing

Discussion, hardware observations, protocol review, and implementation proposals are welcome. Read CONTRIBUTING.md before opening a pull request. Security-sensitive findings should follow SECURITY.md.

Project status and trademarks

Glove80 Control Surface is an independent, unofficial community project. It is not affiliated with, endorsed by, or supported by MoErgo. Glove80 and MoErgo are trademarks of their respective owners.

License

MIT License

About

Bind Glove80 keys to desktop plugins, actions, live states, colors, and animations.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors