diff --git a/src/lib/shortcuts.ts b/src/lib/shortcuts.ts index 7e7ba45eee..e1973d4776 100644 --- a/src/lib/shortcuts.ts +++ b/src/lib/shortcuts.ts @@ -16,6 +16,7 @@ export enum Shortcut { NEW_CHAT = 'newChat', NEW_TEMPORARY_CHAT = 'newTemporaryChat', DELETE_CHAT = 'deleteChat', + OPEN_MODEL_SELECTOR = 'openModelSelector', //Global SEARCH = 'search', @@ -58,6 +59,11 @@ export const shortcuts: ShortcutRegistry = { keys: ['mod', 'shift', 'Backspace', 'Delete'], category: 'Chat' }, + [Shortcut.OPEN_MODEL_SELECTOR]: { + name: 'Open Model Selector', + keys: ['mod', 'shift', 'M'], + category: 'Chat' + }, //Global [Shortcut.SEARCH]: { diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index a43665a1b5..87c09440dd 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -230,6 +230,10 @@ event.preventDefault(); showSettings.set(false); showShortcuts.set(false); + } else if (isShortcutMatch(event, shortcuts[Shortcut.OPEN_MODEL_SELECTOR])) { + console.log('Shortcut triggered: OPEN_MODEL_SELECTOR'); + event.preventDefault(); + document.getElementById('model-selector-0-button')?.click(); } else if (isShortcutMatch(event, shortcuts[Shortcut.NEW_TEMPORARY_CHAT])) { console.log('Shortcut triggered: NEW_TEMPORARY_CHAT'); event.preventDefault();