-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Tracking issue for achieving 100% fidelity Karabiner → KeyPath conversion. This encompasses three categories of work:
Category 1: KeyPath UI Gaps (Kanata supports, needs UI)
These features can be converted to working Kanata .kbd config today, but users can't edit them visually in KeyPath yet.
| Feature | Existing Issue | Karabiner Equivalent |
|---|---|---|
| Mouse click output | #181 | pointing_button |
| Mouse cursor movement | #181 | mouse_key |
| One-shot modifiers (standalone) | #179, #113 | sticky_modifier |
| Unicode character output | #183 | unicode output |
| Global key overrides | #180 | Modifier combo remapping |
| Per-keyboard device targeting | #203, #63 | device_if / device_unless |
| Movemouse speed adjustment | #195 | mouse_key.speed_multiplier |
Converter impact: Once these ship, the converter can produce Tier 1 (editable) rules instead of Tier 2 (raw Kanata passthrough) for these features.
Category 2: Kanata Gaps (not in Kanata core)
These features exist in Karabiner but have no equivalent in Kanata. They cannot be converted at all currently.
| Feature | Impact | Possible Path Forward |
|---|---|---|
Mouse axis manipulation (mouse_basic: flip/swap/discard) |
Very niche | Upstream Kanata feature request |
Mouse-to-scroll (mouse_motion_to_scroll) |
Niche | Upstream Kanata feature request |
Input source switching (select_input_source) |
Niche (JIS/multi-lang users) | InputSourceDetector infra exists; could build TCP bridge |
Expression-based conditions (expression_if) |
Very niche | Kanata switch with defvar can approximate some cases |
event_changed_if |
Very niche | No clear path |
| Mouse button input interception (macOS) | Niche | macOS kernel limitation — not solvable in userspace |
Category 3: Converter Intelligence
| Feature | Issue |
|---|---|
| AI-assisted complex rule conversion | Created separately |
| GokuRakuJoudo EDN format import | Created separately |
Current State
- Feature matrix:
docs/karabiner-converter-feature-matrix.md - MVP converter (Tier 1 deterministic): Karabiner JSON → Kanata config converter / visual diff tool #202
- Estimated MVP fidelity: ~75-80% of rules editable in KeyPath, ~95% produce working Kanata config
- Target: 100% of common Karabiner patterns convertible with full KeyPath editability
Definition of Done
Every Karabiner feature in Tiers 1 and 2 of the feature matrix produces a working, KeyPath-editable rule. Tier 3 (unconvertible) features are clearly documented with explanations.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request