[PR #343] [MERGED] Add configurable hotkeys support #1250

Closed
opened 2026-04-26 00:15:31 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/mountain-loop/yaak/pull/343
Author: @gschier
Created: 1/4/2026
Status: Merged
Merged: 1/4/2026
Merged by: @gschier

Base: mainHead: claude/configurable-hotkeys-660Sf


📝 Commits (7)

  • d22add9 Add configurable hotkeys support
  • 881e56b Allow disabling hotkeys by storing empty arrays
  • b263ee6 Remove explicit ts type annotation for hotkeys field
  • d215137 Implement press-to-record hotkey capture
  • 0a6ed57 Remove CmdCtrl alias, use platform-specific default hotkeys
  • 3577fe5 Tweak initial work
  • d871b9c Fix file casing

📊 Changes

23 files changed (+540 additions, -79 deletions)

View changed files

📝 src-tauri/yaak-models/bindings/gen_models.ts (+1 -1)
src-tauri/yaak-models/migrations/20260104000000_hotkeys.sql (+1 -0)
📝 src-tauri/yaak-models/src/models.rs (+7 -0)
📝 src-tauri/yaak-models/src/queries/settings.rs (+3 -0)
📝 src-web/components/CommandPaletteDialog.tsx (+3 -3)
📝 src-web/components/EnvironmentActionsDropdown.tsx (+1 -1)
📝 src-web/components/GrpcConnectionLayout.tsx (+2 -2)
📝 src-web/components/GrpcResponsePane.tsx (+2 -2)
📝 src-web/components/HttpResponsePane.tsx (+2 -2)
📝 src-web/components/KeyboardShortcutsDialog.tsx (+2 -2)
📝 src-web/components/Settings/Settings.tsx (+25 -0)
src-web/components/Settings/SettingsHotkeys.tsx (+326 -0)
📝 src-web/components/WebsocketResponsePane.tsx (+2 -2)
📝 src-web/components/Workspace.tsx (+2 -2)
📝 src-web/components/core/Dropdown.tsx (+2 -2)
📝 src-web/components/core/Hotkey.tsx (+15 -4)
📝 src-web/components/core/HotkeyLabel.tsx (+3 -3)
📝 src-web/components/core/HotkeyList.tsx (+5 -5)
📝 src-web/components/core/Icon.tsx (+2 -0)
📝 src-web/components/core/Table.tsx (+11 -2)

...and 3 more files

📄 Description

https://feedback.yaak.app/p/editable-keyboard-shortcuts

Users can now customize keyboard shortcuts through Settings > Hotkeys.
Custom hotkeys override defaults, and users can reset to defaults.

  • Add hotkeys field to Settings model (Rust) as a HashMap<String, Vec>
  • Create database migration to add hotkeys column to settings table
  • Update TypeScript bindings with hotkeys: Record<string, string[]>
  • Refactor useHotKey.ts to merge default hotkeys with user-configured hotkeys
  • Add hotkeysAtom for reactive hotkey configuration
  • Add SettingsHotkeys component for UI to customize keyboard shortcuts
  • Add Hotkeys tab to Settings page

Shortcuts settings pane


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/mountain-loop/yaak/pull/343 **Author:** [@gschier](https://github.com/gschier) **Created:** 1/4/2026 **Status:** ✅ Merged **Merged:** 1/4/2026 **Merged by:** [@gschier](https://github.com/gschier) **Base:** `main` ← **Head:** `claude/configurable-hotkeys-660Sf` --- ### 📝 Commits (7) - [`d22add9`](https://github.com/mountain-loop/yaak/commit/d22add96037c055643d8a8c8b7ca99efc5d4f710) Add configurable hotkeys support - [`881e56b`](https://github.com/mountain-loop/yaak/commit/881e56b114fb3a47ea1e15e6c4e3895c0a1a16f7) Allow disabling hotkeys by storing empty arrays - [`b263ee6`](https://github.com/mountain-loop/yaak/commit/b263ee6e2011147a0d36bdd9898368664c1e22ae) Remove explicit ts type annotation for hotkeys field - [`d215137`](https://github.com/mountain-loop/yaak/commit/d215137e44901a216c124131210fd0ec677d2d7a) Implement press-to-record hotkey capture - [`0a6ed57`](https://github.com/mountain-loop/yaak/commit/0a6ed57aac9090213ccba1bebffabcd5300d8991) Remove CmdCtrl alias, use platform-specific default hotkeys - [`3577fe5`](https://github.com/mountain-loop/yaak/commit/3577fe571dbc828adbcb700acd4e767b8d3c5c6c) Tweak initial work - [`d871b9c`](https://github.com/mountain-loop/yaak/commit/d871b9c6724685189a5fd200ea2a61f400cef16b) Fix file casing ### 📊 Changes **23 files changed** (+540 additions, -79 deletions) <details> <summary>View changed files</summary> 📝 `src-tauri/yaak-models/bindings/gen_models.ts` (+1 -1) ➕ `src-tauri/yaak-models/migrations/20260104000000_hotkeys.sql` (+1 -0) 📝 `src-tauri/yaak-models/src/models.rs` (+7 -0) 📝 `src-tauri/yaak-models/src/queries/settings.rs` (+3 -0) 📝 `src-web/components/CommandPaletteDialog.tsx` (+3 -3) 📝 `src-web/components/EnvironmentActionsDropdown.tsx` (+1 -1) 📝 `src-web/components/GrpcConnectionLayout.tsx` (+2 -2) 📝 `src-web/components/GrpcResponsePane.tsx` (+2 -2) 📝 `src-web/components/HttpResponsePane.tsx` (+2 -2) 📝 `src-web/components/KeyboardShortcutsDialog.tsx` (+2 -2) 📝 `src-web/components/Settings/Settings.tsx` (+25 -0) ➕ `src-web/components/Settings/SettingsHotkeys.tsx` (+326 -0) 📝 `src-web/components/WebsocketResponsePane.tsx` (+2 -2) 📝 `src-web/components/Workspace.tsx` (+2 -2) 📝 `src-web/components/core/Dropdown.tsx` (+2 -2) 📝 `src-web/components/core/Hotkey.tsx` (+15 -4) 📝 `src-web/components/core/HotkeyLabel.tsx` (+3 -3) 📝 `src-web/components/core/HotkeyList.tsx` (+5 -5) 📝 `src-web/components/core/Icon.tsx` (+2 -0) 📝 `src-web/components/core/Table.tsx` (+11 -2) _...and 3 more files_ </details> ### 📄 Description https://feedback.yaak.app/p/editable-keyboard-shortcuts Users can now customize keyboard shortcuts through Settings > Hotkeys. Custom hotkeys override defaults, and users can reset to defaults. - Add hotkeys field to Settings model (Rust) as a HashMap<String, Vec<String>> - Create database migration to add hotkeys column to settings table - Update TypeScript bindings with hotkeys: Record<string, string[]> - Refactor useHotKey.ts to merge default hotkeys with user-configured hotkeys - Add hotkeysAtom for reactive hotkey configuration - Add SettingsHotkeys component for UI to customize keyboard shortcuts - Add Hotkeys tab to Settings page ![Shortcuts settings pane](https://github.com/user-attachments/assets/3555e3f7-cd65-4d8d-bec0-b369df68b09f) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-26 00:15:31 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/yaak#1250