diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-07-08 10:48:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-08 10:48:58 +0000 |
commit | 3a294a08bc521b5dbd00df5facce525fd498971b (patch) | |
tree | 430dc7528f86534ba61fad86f30a5543ff996fb3 /extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js | |
parent | d12ccb91a873ff005feaba291782318203a56749 (diff) | |
parent | f325783abd828c3b90b4d0aa19031401c0ba4c4c (diff) | |
download | stable-diffusion-webui-gfx803-3a294a08bc521b5dbd00df5facce525fd498971b.tar.gz stable-diffusion-webui-gfx803-3a294a08bc521b5dbd00df5facce525fd498971b.tar.bz2 stable-diffusion-webui-gfx803-3a294a08bc521b5dbd00df5facce525fd498971b.zip |
Merge pull request #11535 from gshawn3/bugfix/11534
fix for #11534: canvas zoom and pan extension hijacking shortcut keys
Diffstat (limited to 'extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js')
-rw-r--r-- | extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js b/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js index 5ebd2073..30199dcd 100644 --- a/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js +++ b/extensions-builtin/canvas-zoom-and-pan/javascript/zoom.js @@ -200,7 +200,8 @@ onUiLoaded(async() => { canvas_hotkey_move: "KeyF", canvas_hotkey_overlap: "KeyO", canvas_disabled_functions: [], - canvas_show_tooltip: true + canvas_show_tooltip: true, + canvas_blur_prompt: false }; const functionMap = { @@ -608,6 +609,19 @@ onUiLoaded(async() => { // Handle keydown events function handleKeyDown(event) { + // Disable key locks to make pasting from the buffer work correctly + if ((event.ctrlKey && event.code === 'KeyV') || (event.ctrlKey && event.code === 'KeyC') || event.code === "F5") { + return; + } + + // before activating shortcut, ensure user is not actively typing in an input field + if (!hotkeysConfig.canvas_blur_prompt) { + if (event.target.nodeName === 'TEXTAREA' || event.target.nodeName === 'INPUT') { + return; + } + } + + const hotkeyActions = { [hotkeysConfig.canvas_hotkey_reset]: resetZoom, [hotkeysConfig.canvas_hotkey_overlap]: toggleOverlap, @@ -686,6 +700,20 @@ onUiLoaded(async() => { // Handle the move event for pan functionality. Updates the panX and panY variables and applies the new transform to the target element. function handleMoveKeyDown(e) { + + // Disable key locks to make pasting from the buffer work correctly + if ((e.ctrlKey && e.code === 'KeyV') || (e.ctrlKey && event.code === 'KeyC') || e.code === "F5") { + return; + } + + // before activating shortcut, ensure user is not actively typing in an input field + if (!hotkeysConfig.canvas_blur_prompt) { + if (e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'INPUT') { + return; + } + } + + if (e.code === hotkeysConfig.canvas_hotkey_move) { if (!e.ctrlKey && !e.metaKey && isKeyDownHandlerAttached) { e.preventDefault(); |