The only shortcut setting is the global show/hide hotkey, typed as a free-text Electron accelerator (SettingsPanel.tsx:539-544).
Add a Keybinds page: every shortcut listed (including the new Ctrl+K, Alt+arrows, Esc/Shift+Esc, Up-to-edit, Shift+Enter), and a key recorder for the global hotkey.
Part of the v1.0 UI pass.
The only shortcut setting is the global show/hide hotkey, typed as a free-text Electron accelerator (SettingsPanel.tsx:539-544).
**Add a Keybinds page:** every shortcut listed (including the new Ctrl+K, Alt+arrows, Esc/Shift+Esc, Up-to-edit, Shift+Enter), and a key recorder for the global hotkey.
_Part of the v1.0 UI pass._
Salastil
added this to the v1.0 milestone 2026-10-07 20:43:26 -04:00
Every shortcut, listed by what it is for: moving around (Ctrl+K, Alt+↑/↓, Alt+Shift+↑/↓, Ctrl+,, Esc, Shift+Esc), writing (Enter, Shift+Enter, ↑ to edit, Tab, Ctrl+B/I/U, @, :, /, Esc), and the picker and viewer (arrows, Enter, ←/→, + - 0) - each as key caps.
The global show/hide hotkey is recorded, not typed. It was a free-text field wanting an Electron accelerator ("Control+Shift+M"). Now a button: click it, press the combination, done; Esc gives up, a bare key is refused (it would be taken from every other program), arrows, F-keys and the meta key work, and the physical key is named rather than what shift makes of it. Clear removes it. It saves through the same pref, so the main process re-registers it as before. The Wayland caveat stays beside it.
It left General, where it sat in a "Window" section with nothing else.
Tests: accelerator.test.ts (the accelerator a key press makes, and how it is drawn). Checked in the app with real key events: current shown, recording on click, a bare key ignored, Ctrl+Alt+J taken and saved, Esc keeps what was there.
Not changeable yet: the in-app shortcuts are listed but fixed; only the global hotkey can be rebound.
Before: a text box expecting "Control+Shift+M" and no list. The picture is the new page (the recorder is at its foot).
Finished: [82a0bdf](https://git.salastil.com/Salastil/moho/commit/82a0bdf8a8c188ff8a9a6bc6337642e8d0eb6fca).
Settings has a Keybinds page, under App.
- **Every shortcut, listed** by what it is for: moving around (Ctrl+K, Alt+↑/↓, Alt+Shift+↑/↓, Ctrl+,, Esc, Shift+Esc), writing (Enter, Shift+Enter, ↑ to edit, Tab, Ctrl+B/I/U, `@`, `:`, `/`, Esc), and the picker and viewer (arrows, Enter, ←/→, + - 0) - each as key caps.
- **The global show/hide hotkey is recorded, not typed.** It was a free-text field wanting an Electron accelerator ("Control+Shift+M"). Now a button: click it, press the combination, done; Esc gives up, a bare key is refused (it would be taken from every other program), arrows, F-keys and the meta key work, and the physical key is named rather than what shift makes of it. Clear removes it. It saves through the same pref, so the main process re-registers it as before. The Wayland caveat stays beside it.
- It left General, where it sat in a "Window" section with nothing else.
- Tests: `accelerator.test.ts` (the accelerator a key press makes, and how it is drawn). Checked in the app with real key events: current shown, recording on click, a bare key ignored, Ctrl+Alt+J taken and saved, Esc keeps what was there.
- Not changeable yet: the in-app shortcuts are listed but fixed; only the global hotkey can be rebound.
Before: a text box expecting "Control+Shift+M" and no list. The picture is the new page (the recorder is at its foot).

Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The only shortcut setting is the global show/hide hotkey, typed as a free-text Electron accelerator (SettingsPanel.tsx:539-544).
Add a Keybinds page: every shortcut listed (including the new Ctrl+K, Alt+arrows, Esc/Shift+Esc, Up-to-edit, Shift+Enter), and a key recorder for the global hotkey.
Part of the v1.0 UI pass.
Finished: 82a0bdf.
Settings has a Keybinds page, under App.
@,:,/, Esc), and the picker and viewer (arrows, Enter, ←/→, + - 0) - each as key caps.accelerator.test.ts(the accelerator a key press makes, and how it is drawn). Checked in the app with real key events: current shown, recording on click, a bare key ignored, Ctrl+Alt+J taken and saved, Esc keeps what was there.Before: a text box expecting "Control+Shift+M" and no list. The picture is the new page (the recorder is at its foot).