Skip to content

Commit f0a61a9

Browse files
committed
don't prevent all shortcuts when terminal is paused #1005
1 parent 9a8444e commit f0a61a9

4 files changed

+31
-9
lines changed

js/jquery.terminal-src.js

+13-2
Original file line numberDiff line numberDiff line change
@@ -4212,6 +4212,7 @@
42124212
var have_key = typeof e.key !== 'undefined';
42134213
var key = String(e.key).toLowerCase();
42144214
var unidentified_key = key === 'unidentified';
4215+
var skip_keymap;
42154216
// special keys don't trigger keypress fix #293
42164217
try {
42174218
if (!e.fake) {
@@ -4249,7 +4250,11 @@
42494250
if (!result) {
42504251
skip_insert = true;
42514252
}
4252-
return result;
4253+
if (result === true) {
4254+
skip_keymap = true;
4255+
} else {
4256+
return result;
4257+
}
42534258
}
42544259
}
42554260
if (shortcut !== prev_shortcut) {
@@ -4326,6 +4331,10 @@
43264331
// this will prevent for instance backspace to go back one page
43274332
//skip_keypress = true;
43284333
//e.preventDefault();
4334+
} else if (skip_keymap && is_function(keymap[shortcut])) {
4335+
// when terminal is disabled/paused we only want to prevent
4336+
// terminal shortcuts, see: #1005
4337+
return false;
43294338
}
43304339
}
43314340
function clear_hold() {
@@ -9396,7 +9405,9 @@
93969405
}
93979406
self.resume();
93989407
}
9399-
return false;
9408+
// tell cmd keydown to prevent default only terminal shortcuts
9409+
// see #1005
9410+
return true;
94009411
}
94019412
}
94029413
}

js/jquery.terminal.js

+15-4
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
*
4242
* broken image by Sophia Bai from the Noun Project (CC-BY)
4343
*
44-
* Date: Sat, 22 Feb 2025 15:06:30 +0000
44+
* Date: Sat, 22 Feb 2025 15:55:40 +0000
4545
*/
4646
/* global define, Map, BigInt */
4747
/* eslint-disable */
@@ -4212,6 +4212,7 @@
42124212
var have_key = typeof e.key !== 'undefined';
42134213
var key = String(e.key).toLowerCase();
42144214
var unidentified_key = key === 'unidentified';
4215+
var skip_keymap;
42154216
// special keys don't trigger keypress fix #293
42164217
try {
42174218
if (!e.fake) {
@@ -4249,7 +4250,11 @@
42494250
if (!result) {
42504251
skip_insert = true;
42514252
}
4252-
return result;
4253+
if (result === true) {
4254+
skip_keymap = true;
4255+
} else {
4256+
return result;
4257+
}
42534258
}
42544259
}
42554260
if (shortcut !== prev_shortcut) {
@@ -4326,6 +4331,10 @@
43264331
// this will prevent for instance backspace to go back one page
43274332
//skip_keypress = true;
43284333
//e.preventDefault();
4334+
} else if (skip_keymap && is_function(keymap[shortcut])) {
4335+
// when terminal is disabled/paused we only want to prevent
4336+
// terminal shortcuts, see: #1005
4337+
return false;
43294338
}
43304339
}
43314340
function clear_hold() {
@@ -5439,7 +5448,7 @@
54395448
// -------------------------------------------------------------------------
54405449
$.terminal = {
54415450
version: 'DEV',
5442-
date: 'Sat, 22 Feb 2025 15:06:30 +0000',
5451+
date: 'Sat, 22 Feb 2025 15:55:40 +0000',
54435452
// colors from https://www.w3.org/wiki/CSS/Properties/color/keywords
54445453
color_names: [
54455454
'transparent', 'currentcolor', 'black', 'silver', 'gray', 'white',
@@ -9396,7 +9405,9 @@
93969405
}
93979406
self.resume();
93989407
}
9399-
return false;
9408+
// tell cmd keydown to prevent default only terminal shortcuts
9409+
// see #1005
9410+
return true;
94009411
}
94019412
}
94029413
}

js/jquery.terminal.min.js

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/jquery.terminal.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)