Skip to main content

Overlay — Gamepad Navigation

The GSM Overlay has built-in gamepad support, letting you navigate detected text and trigger Yomitan dictionary lookups entirely with a controller — no keyboard or mouse required.

note

This feature is marked Experimental. It should work, but one man is not enough to test all controllers and setups.

Video Guide

How It Works

A small background process reads raw gamepad input at the OS level and forwards it to the overlay via WebSocket. This means the controller works regardless of which window is focused — the game can have focus while you still navigate overlay text.

  1. A controller is connected.
  2. You activate navigation (hold modifier button or toggle it on).
  3. D-pad moves between text blocks (Up/Down) or characters/tokens (Left/Right).
  4. Yomitan lookups are triggered automatically as you move the cursor.
  5. Press B (or your cancel button) to dismiss and return focus to the game.

Quick Start

  1. Launch the Overlay from GSM's Home tab.
  2. Open Controller Settings — press Alt+Shift+SController tab, or use the GSM tray icon to open overlay settings and then switch to Controller.
  3. Enable Gamepad Navigation and confirm the server shows Connected.
  4. Connect your controller. The 🎮 indicator in the bottom-left of the overlay should update.
  5. Hold LB (modifier mode default) and press any D-pad direction to start navigating.
Overlay controller settings with gamepad navigation enabled
Controller settings showing gamepad navigation enabled and the input server connected

Activation Modes

Modifier Mode (default)

Hold a button (LB by default) while pressing the D-pad. Navigation is only active while the button is held. When you release it, the overlay returns to click-through pass-through mode.

  • Best for players who want to quickly dip in and out without changing game state.

Toggle Mode

Press a single button (Back/Select by default) to enter controller navigation mode. Press it again (or press Cancel) to exit.

  • Best for reading-heavy games where you want to stay in navigation for longer stretches.
  • A mode indicator badge appears on the overlay while toggle-mode navigation is active.

You can switch modes in the Controller tab of overlay settings.

D-Pad Navigation

DirectionAction
Up / DownSwitch between detected text blocks
Left / RightMove cursor left/right within the current block (character or token)

By default, Left/Right moves one character at a time. Enable Token Navigation Mode to jump by whole words (tokens) instead — significantly faster for looking up compound words.

Tokens come from your chosen Tokenizer Backend (see Settings below). You can also press Y at any time during navigation to toggle between character and token mode on the fly.

Auto-Confirm

Yomitan lookups fire automatically as you move the cursor — no extra button press needed. This is controlled by the Auto-Confirm Selection setting (enabled by default).

If you want manual control, disable Auto-Confirm and press A to trigger a lookup at the current cursor position.

Two-Stage Mining

When a Yomitan popup is open and you want to mine the word:

  1. First confirm (A): opens the Yomitan popup from the current cursor word.
  2. Second confirm (A): mines the word to Anki (sends it through GSM's normal mining flow).

Button Reference

ButtonDefaultAction
LBModifierHold to activate navigation (modifier mode)
Back/SelectToggleEnter/exit navigation mode (toggle mode)
D-pad Up/DownNavigate between text blocks
D-pad Left/RightMove cursor within current block
AConfirmManually confirm lookup / mine word
BCancelDismiss popup / exit navigation
YToken ToggleToggle character ↔ token navigation on the fly

All buttons are fully remappable in the Controller settings tab.

Optional Buttons

SettingDefaultDescription
Forward Enter ButtonDisabledPress this to send an Enter keystroke to your game window. Useful for advancing dialogue while staying in nav mode.
Manual Scan ButtonDisabledTriggers an immediate OCR scan (same as the keyboard scan hotkey F8).

Tokenizer Backends

Token-mode navigation and furigana rendering both require a tokenizer backend. Available options:

BackendRequiresNotes
MeCab (default)GSM backend runningFastest. Bundled with GSM. No setup needed.
Yomitan BridgeOverlay runningUses the embedded Yomitan's own tokenizer. No external server.
Yomitan APIYomitan API serverExternal Yomitan server (advanced).
JitenAPIInternet + API keyCloud-based. Requires free API key from jiten.moe.
JPDB APIInternet + API keyCloud-based. Requires JPDB account and bearer token.

For most users, leave this on MeCab.

Thumbstick Support

The left thumbstick acts as a virtual mouse — hover it over recognized text and Yomitan will scan that position, similar to normal mouse hover.

The right thumbstick scrolls within an open Yomitan popup:

  • Vertical axis: scroll definitions up/down.
  • Horizontal axis: navigate between multiple dictionary entries.
Overlay navigation using gamepad thumbsticks
The left thumbstick hovers text like a mouse, while the right thumbstick scrolls the Yomitan popup

Settings Reference (Controller Tab)

Open via Alt+Shift+S → Controller in the overlay. If the overlay is already running in the background, you can also open the same settings flow from the GSM tray icon and then go to the Controller tab.

SettingDefaultDescription
Enable Gamepad NavigationOnMaster switch for all controller navigation.
Activation ModeModifierModifier (hold) or Toggle (press to enter/exit).
Modifier ButtonLBButton to hold in modifier mode.
Toggle ButtonBack/SelectButton to enter/exit toggle mode.
Confirm ButtonAManually confirm lookup or mine.
Cancel ButtonBExit navigation / dismiss popup.
Token Navigation ModeOffNavigate by tokens (words) instead of characters.
Auto-Confirm SelectionOnAuto-trigger Yomitan when cursor moves.
Navigation Repeat Delay400msDelay before direction input starts repeating.
Navigation Repeat Rate150msSpeed of repeated input when holding a direction.

Optional Actions

SettingDefaultDescription
Forward Enter ButtonDisabledSends Enter to the game window.
Manual Overlay Scan ButtonDisabledTriggers an OCR scan.
Token/Furigana BackendMeCabBackend used for word tokenization.
Yomitan API URLhttp://127.0.0.1:19633URL for Yomitan API backend (if selected).
Yomitan Scan Length10Number of characters sent to Yomitan per scan.
JitenAPI KeyAPI key for JitenReader cloud tokenization.
JPDB API KeyBearer token for JPDB tokenization.

Activation Methods

SettingDefaultDescription
Enable Controller ActivationOnAllow controller buttons to activate navigation mode.
Enable Keyboard HotkeyOnAllow a keyboard shortcut to toggle navigation.
Keyboard Toggle HotkeyAlt+GHotkey to toggle gamepad navigation from keyboard.

Input Server

SettingDefaultDescription
Server Port7276WebSocket port for the Rust gamepad input server.
Server StatusLive indicator showing whether the server is connected.
Gamepad StatusShows which controller(s) are connected.

Furigana Display

When Token Navigation Mode is active and a backend is configured, the overlay can also render furigana (reading hints) above kanji compounds. Furigana appears automatically for the current line and nearby lines as you navigate.

Troubleshooting

Server Status shows "Disconnected"

The Rust gamepad server isn't running. It should start automatically with the overlay — try restarting GSM. If the port is already in use, change the Server Port in settings.

Controller not detected

  • Check the Gamepad Status field in Controller settings — it will show what's connected.
  • Try unplugging and replugging the controller.
  • XInput controllers (Xbox) are natively supported. DualShock/DualSense controllers may need DS4Windows or similar.

Yomitan popup doesn't appear when navigating

  • Ensure Auto-Confirm Selection is enabled.
  • Try pressing A manually to trigger the lookup.
  • Make sure your dictionaries are imported (press Alt+Shift+Y to open Yomitan settings).
  • Check that you're in Modifier activation mode (not Toggle).
  • Confirm Enable Controller Activation is checked in settings.

Cursor jumps unexpectedly

Reduce D-pad repeat rate or increase repeat delay in Controller settings.

Prerequisites

  • GSM Overlay must be running.
  • GSM Python backend must be running (provides OCR + WebSocket server).
  • Dictionaries imported in the overlay's embedded Yomitan (Alt+Shift+Y).
  • A compatible controller connected via USB or Bluetooth.