diff --git a/javascript/tagAutocomplete.js b/javascript/tagAutocomplete.js index 992456e..6b199a4 100644 --- a/javascript/tagAutocomplete.js +++ b/javascript/tagAutocomplete.js @@ -216,7 +216,7 @@ async function syncOptions() { includeEmbeddingsInNormalResults: opts["tac_includeEmbeddingsInNormalResults"], useHypernetworks: opts["tac_useHypernetworks"], useLoras: opts["tac_useLoras"], - useLycos: opts["tac_useLycos"], + useLycos: opts["tac_useLycos"], useLoraPrefixForLycos: opts["tac_useLoraPrefixForLycos"], showWikiLinks: opts["tac_showWikiLinks"], showExtraNetworkPreviews: opts["tac_showExtraNetworkPreviews"], @@ -1159,12 +1159,17 @@ function navigateInList(textArea, event) { if (!validKeys.includes(event.key)) return; if (!isVisible(textArea)) return - // Return if ctrl key is pressed to not interfere with weight editing shortcut - if (event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return; + // Add modifier keys to base as text+. + let modKey = ""; + if (event.ctrlKey) modKey += "Ctrl+"; + if (event.altKey) modKey += "Alt+"; + if (event.shiftKey) modKey += "Shift+"; + if (event.metaKey) modKey += "Meta+"; + modKey += event.key; oldSelectedTag = selectedTag; - switch (event.key) { + switch (modKey) { case keys["MoveUp"]: if (selectedTag === null) { selectedTag = resultCount - 1; @@ -1235,6 +1240,8 @@ function navigateInList(textArea, event) { case keys["Close"]: hideResults(textArea); break; + default: + if (event.ctrlKey || event.altKey || event.shiftKey || event.metaKey) return; } let moveKeys = [keys["MoveUp"], keys["MoveDown"], keys["JumpUp"], keys["JumpDown"], keys["JumpToStart"], keys["JumpToEnd"]]; if (selectedTag === resultCount - 1 && moveKeys.includes(event.key)) {