Repository navigation
Conversation
A text macro composes a prompt but deliberately leaves it unsubmitted, so
finishing a dictated line still meant reaching for the keyboard. A `"chords"`
entry presses keys in the focused agent's pane instead of typing into it, which
is the other half of that gesture: `{"chords": {"12": "enter"}}` makes the
bottom-right key submit.
The names are Herdr's own, handed to `pane.send_keys` untouched, so a chord is
whatever that vocabulary allows — "enter", "esc", "ctrl+alt+u", or an array
pressed in order. A chord outranks a text macro on the same key: the text
defaults are inherited rather than chosen, so an explicit chord should not have
to unbind one first.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Superseded by the upstream PR: schacon#8 Closing this one to avoid duplication. The branch stays put — the upstream PR uses it as its head. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds a
"chords"section to~/.config/micromanager/config.json, binding a pad key to keys pressed in the focused agent's pane:{ "chords": { "12": "enter" } }Why
A text macro composes a prompt but deliberately leaves it unsubmitted, so finishing a dictated line still meant reaching for the keyboard. This closes that loop — dictate into an agent pane, then tap the key to submit.
How
HerdrClient.sendKeysalready existed and is used byTuneControllerto confirm model choices, so this is dispatch plumbing rather than new capability. The chord names are Herdr's, handed topane.send_keysuntouched —"enter","esc","ctrl+alt+u", or an array pressed in order.A chord outranks a text macro on the same key: the text defaults are inherited rather than chosen, so an explicit chord shouldn't have to unbind one first.
Keys 9, 10, 11 and 12 accept chords — the same flexible keys that already take text macros. The key stays
KV_OAI_AG*-bound, so it keeps its light and keeps reporting presses; nothing touches the device keymap.Scope / limitations
CGEventsynthesis (asVoiceControllerdoes for right command) would be the upgrade path if that's ever wanted.lastErrorin the panel.Testing
KeyBindingsTestscovering the string form, array form,""unbind,"10+11"expansion, chord-beats-text precedence, and malformed input falling back to defaults.LiveDeviceTests.testDeviceKeymapHasTheStackKeyBound) is pre-existing and unrelated — it fails on hardware whose joystick reportstype: VENDORwith an emptysectorsarray.🤖 Generated with Claude Code