first commit

This commit is contained in:
2026-05-27 18:50:35 +09:00
commit d80de116c6
17 changed files with 1381 additions and 0 deletions

32
README.md Normal file
View File

@@ -0,0 +1,32 @@
# hkkb
A keymap editor for the HHKB Professional on Linux — what PFU's Windows/Mac-only
tool does, but in your browser. It reads and rewrites the keyboard over its own
USB-HID protocol; no firmware patching.
![editor](doc/base.png)
## Run
./run.sh # then open http://127.0.0.1:8080
./run.sh -port 9000 # different port
Needs **Go** (standard library only) and a **browser**. The first run installs a
udev rule with one `sudo` prompt — `GROUP="input"` on the keyboard's
`/dev/hidraw*` — so your user, in the `input` group, can open it without root.
Later runs just build and serve.
## Use
Pick a key, then a keycode, then **Write**. The **Fn** tab edits the Fn layer
(`Fn + [` → Up). **Read** reloads from the keyboard, **Reset** restores defaults,
**Save/Load** are JSON, **Key test** lights up presses. Model and keymap are
detected automatically on connect.
## Layout
internal/hhkb/ protocol + data (no UI, no cgo)
cmd/hhkb-web/ web server + embedded UI
doc/protocol.md the wire protocol
Protocol reverse-engineered by [happy-hacking-gnu](https://gitlab.com/dom/happy-hacking-gnu).