From 6e5bac45c9514a844bbe9b03662a72a37efd2e76 Mon Sep 17 00:00:00 2001 From: sudacode Date: Wed, 11 Mar 2026 02:06:06 -0700 Subject: [PATCH] Add controller workflow docs to usage and mining workflow pages - Add "Controller Support" section to usage.md with setup steps, button mapping table, and analog controls table - Add "Controller Workflow" subsection to mining-workflow.md with step-by-step gamepad mining loop - Cross-link to configuration page for full mapping and tuning options --- docs-site/mining-workflow.md | 16 +++++++++++++++ docs-site/usage.md | 39 ++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/docs-site/mining-workflow.md b/docs-site/mining-workflow.md index 86bb2fee..0718c69c 100644 --- a/docs-site/mining-workflow.md +++ b/docs-site/mining-workflow.md @@ -59,6 +59,22 @@ Jimaku search, field-grouping, runtime options, and manual subsync open as modal 3. Yomitan detects the selection and opens its lookup popup. 4. From the popup, add the word to Anki. +### Controller Workflow + +With a gamepad connected and keyboard-only mode enabled, the full mining loop works without a mouse or keyboard: + +1. **Navigate** — push the left stick left/right to move the token highlight across subtitle words. +2. **Look up** — press `A` to trigger Yomitan lookup on the highlighted word. +3. **Browse the popup** — push the left stick up/down to smooth-scroll through the Yomitan popup, or use the right stick for larger jumps. +4. **Cycle audio** — press `R1` to move to the next dictionary audio entry, `L1` to play the current one. +5. **Mine** — press `X` to create an Anki card for the current sentence (same as `Ctrl+S`). +6. **Close** — press `B` to dismiss the Yomitan popup and return to subtitle navigation. +7. **Pause/resume** — press `L3` (left stick click) to toggle mpv pause at any time. + +The controller and keyboard can be used interchangeably — switching mid-session is seamless. Toggle keyboard-only mode on or off with `Y` on the controller. + +See [Usage — Controller Support](/usage#controller-support) for setup details and [Configuration — Controller Support](/configuration#controller-support) for the full mapping and tuning options. + ## Creating Anki Cards There are three ways to create cards, depending on your workflow. diff --git a/docs-site/usage.md b/docs-site/usage.md index 816513b7..5c567536 100644 --- a/docs-site/usage.md +++ b/docs-site/usage.md @@ -246,6 +246,45 @@ Notes: - `--whisper-threads` - `--yt-subgen-audio-format` +## Controller Support + +SubMiner supports gamepad/controller input for couch-friendly usage via the Chrome Gamepad API. Controller input drives the overlay while keyboard-only mode is enabled. + +### Getting Started + +1. Connect a controller before or after launching SubMiner. +2. Enable keyboard-only mode — press `Y` on the controller (default binding) or use the overlay keybinding. +3. Use the left stick to navigate subtitle tokens and the right stick to scroll the Yomitan popup. +4. Press `A` to look up the selected word, `X` to mine a card, `B` to close the popup. + +By default SubMiner uses the first connected controller. Press `Alt+C` in the overlay to open the controller selection modal and persist your preferred controller across sessions. Press `Alt+Shift+C` to open a live debug modal showing raw axes and button values. + +### Default Button Mapping + +| Button | Action | +| ------ | ------ | +| `A` (South) | Toggle lookup | +| `B` (East) | Close lookup | +| `Y` (North) | Toggle keyboard-only mode | +| `X` (West) | Mine card | +| `L1` | Play current Yomitan audio | +| `R1` | Next Yomitan audio track | +| `L3` (left stick press) | Toggle mpv pause | +| `Select` / `Minus` | Quit mpv | +| `L2` / `R2` | Unbound (available for custom bindings) | + +### Analog Controls + +| Input | Action | +| ----- | ------ | +| Left stick horizontal | Move token selection left/right | +| Left stick vertical | Smooth scroll Yomitan popup | +| Right stick horizontal | Jump inside popup (horizontal) | +| Right stick vertical | Smooth scroll popup (vertical) | +| D-pad | Fallback for stick navigation | + +All button and axis mappings are configurable under the `controller` config block. See [Configuration — Controller Support](/configuration#controller-support) for the full options. + ## Keybindings See [Keyboard Shortcuts](/shortcuts) for the full reference, including mining shortcuts, overlay controls, and customization.