@xterm/xterm 6.1.0-beta.180 → 6.1.0-beta.182

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xterm/xterm",
3
3
  "description": "Full xterm terminal, in your browser",
4
- "version": "6.1.0-beta.180",
4
+ "version": "6.1.0-beta.182",
5
5
  "main": "lib/xterm.js",
6
6
  "module": "lib/xterm.mjs",
7
7
  "style": "css/xterm.css",
@@ -119,5 +119,5 @@
119
119
  "ws": "^8.2.3",
120
120
  "xterm-benchmark": "^0.3.1"
121
121
  },
122
- "commit": "783c4a34d296480f29ecddfb8743e4e542e29cf5"
122
+ "commit": "c29e48c91718157882d4b4557e48b6512fdb641e"
123
123
  }
@@ -6,4 +6,4 @@
6
6
  /**
7
7
  * The xterm.js version. This is updated by the publish script from package.json.
8
8
  */
9
- export const XTERM_VERSION = '6.1.0-beta.180';
9
+ export const XTERM_VERSION = '6.1.0-beta.182';
@@ -457,9 +457,11 @@ export class KittyKeyboard {
457
457
  } else if (reportEventTypes) {
458
458
  useCsiU = true;
459
459
  } else if (flags & KittyKeyboardFlags.DISAMBIGUATE_ESCAPE_CODES) {
460
- if (keyCode === 27 || keyCode === 127 || keyCode === 13 || keyCode === 9 || keyCode === 32) {
461
- useCsiU = true;
462
- } else if (isFunc) {
460
+ // Per spec, Enter/Tab/Backspace "still generate the same bytes as in legacy
461
+ // mode" and consider space to be a text-generating key, so these skip the isFunc fast-path
462
+ // and only get CSI u when modifiers are present (handled below).
463
+ const isDisambiguateLegacy = keyCode === 13 || keyCode === 9 || keyCode === 127;
464
+ if (isFunc && !isDisambiguateLegacy) {
463
465
  useCsiU = true;
464
466
  } else if (modifiers > 0) {
465
467
  if (ev.shiftKey && !ev.ctrlKey && !ev.altKey && !ev.metaKey && ev.key.length === 1) {
@@ -474,7 +476,10 @@ export class KittyKeyboard {
474
476
  result.key = this._buildCsiUSequence(ev, keyCode, modifiers, eventType, flags, isFunc, isMod);
475
477
  result.cancel = true;
476
478
  } else {
477
- if (ev.key.length === 1 && !ev.ctrlKey && !ev.altKey && !ev.metaKey) {
479
+ const legacyByte = keyCode === 13 ? '\r' : keyCode === 9 ? '\t' : keyCode === 127 ? '\x7f' : undefined;
480
+ if (legacyByte) {
481
+ result.key = legacyByte;
482
+ } else if (ev.key.length === 1 && !ev.ctrlKey && !ev.altKey && !ev.metaKey) {
478
483
  result.key = ev.key;
479
484
  }
480
485
  }