@oh-my-pi/pi-tui 17.2.4 → 17.2.6

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/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.2.5] - 2026-08-03
6
+
7
+ ### Fixed
8
+
9
+ - Fixed Kitty and Ghostty keyboard shortcuts on non-Latin keyboard layouts by requesting base-layout key reporting from the terminal.
10
+
5
11
  ## [17.2.4] - 2026-08-01
6
12
 
7
13
  ### Fixed
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-tui",
4
- "version": "17.2.4",
4
+ "version": "17.2.6",
5
5
  "description": "Terminal User Interface library with differential rendering for efficient text-based applications",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -37,8 +37,8 @@
37
37
  "fmt": "biome format --write ."
38
38
  },
39
39
  "dependencies": {
40
- "@oh-my-pi/pi-natives": "17.2.4",
41
- "@oh-my-pi/pi-utils": "17.2.4",
40
+ "@oh-my-pi/pi-natives": "17.2.6",
41
+ "@oh-my-pi/pi-utils": "17.2.6",
42
42
  "lru-cache": "11.5.2",
43
43
  "marked": "^18.0.6"
44
44
  },
package/src/terminal.ts CHANGED
@@ -404,7 +404,7 @@ export interface Terminal {
404
404
  // Whether Kitty keyboard protocol is active
405
405
  get kittyProtocolActive(): boolean;
406
406
 
407
- // The exact kitty keyboard push sequence in effect ("\x1b[>1u" or "\x1b[>7u"),
407
+ // The exact kitty keyboard push sequence in effect ("\x1b[>5u" or "\x1b[>7u"),
408
408
  // or null when the protocol is not active. Kitty keyboard flags are per-screen,
409
409
  // so the TUI re-pushes this after entering the alternate screen.
410
410
  get kittyEnableSequence(): string | null;
@@ -1100,15 +1100,15 @@ export class ProcessTerminal implements Terminal {
1100
1100
  const reportedFlags = parseInt(match[1]!, 10);
1101
1101
  this.#kittyProtocolActive = true;
1102
1102
  setKittyProtocolActive(true);
1103
- if (reportedFlags >= 3) {
1104
- // Already enriched (Ghostty/foot may keep flags from a parent app).
1105
- // Push level-2 to lock in event reporting.
1103
+ if ((reportedFlags & 2) !== 0) {
1104
+ // Preserve event-type reporting already enabled by a parent app.
1105
+ // Push level-2 to keep its shortcuts reporting consistently.
1106
1106
  this.#kittyEnableSeq = "\x1b[>7u";
1107
1107
  this.#safeWrite(this.#kittyEnableSeq);
1108
1108
  } else {
1109
- // Level 1 (disambiguate escape codes) enough for Shift+Enter
1110
- // without the modifyOtherKeys fallback that caused regression #3259.
1111
- this.#kittyEnableSeq = "\x1b[>1u";
1109
+ // Disambiguate escape codes and report base-layout keys for physical
1110
+ // shortcut matching, without event reporting that caused regression #3259.
1111
+ this.#kittyEnableSeq = "\x1b[>5u";
1112
1112
  this.#safeWrite(this.#kittyEnableSeq);
1113
1113
  }
1114
1114
  return;