apps/server/src/keybindings.test.ts | 51 +- apps/server/src/keybindings.ts | 62 +- apps/server/src/server.test.ts | 36 + apps/server/src/ws.ts | 9 + apps/web/src/components/KeybindingsToast.browser.tsx | 10 +- apps/web/src/components/ProjectScriptsControl.tsx | 55 +- apps/web/src/components/settings/KeybindingsSettings.logic.test.ts | 248 ++++++ apps/web/src/components/settings/KeybindingsSettings.logic.ts | 337 +++++++++ apps/web/src/components/settings/KeybindingsSettings.tsx | 1282 ++++++++++++++++++++++++++++++++ apps/web/src/components/settings/SettingsPanels.tsx | 42 +- apps/web/src/components/settings/SettingsSidebarNav.tsx | 3 + apps/web/src/components/settings/settingsLayout.tsx | 12 +- apps/web/src/components/ui/scroll-area.tsx | 5 +- apps/web/src/components/ui/select.tsx | 12 +- apps/web/src/localApi.ts | 4 + apps/web/src/routeTree.gen.ts | 21 + apps/web/src/routes/__root.tsx | 6 + apps/web/src/routes/settings.keybindings.tsx | 7 + apps/web/src/rpc/wsRpcClient.ts | 3 + packages/contracts/src/ipc.ts | 4 +- packages/contracts/src/keybindings.ts | 6 +- packages/contracts/src/rpc.ts | 10 + packages/contracts/src/server.ts | 26 +- packages/shared/src/keybindings.ts | 2 +- 24 files changed, 2142 insertions(+), 111 deletions(-)