mirror of
https://github.com/getcompanion-ai/co-mono.git
synced 2026-04-21 03:04:28 +00:00
feat(tui): add isCtrlG key detection
This commit is contained in:
parent
299986f06b
commit
afedf1707a
2 changed files with 12 additions and 0 deletions
|
|
@ -33,6 +33,7 @@ export {
|
||||||
isCtrlC,
|
isCtrlC,
|
||||||
isCtrlD,
|
isCtrlD,
|
||||||
isCtrlE,
|
isCtrlE,
|
||||||
|
isCtrlG,
|
||||||
isCtrlK,
|
isCtrlK,
|
||||||
isCtrlLeft,
|
isCtrlLeft,
|
||||||
isCtrlO,
|
isCtrlO,
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ const CODEPOINTS = {
|
||||||
c: 99,
|
c: 99,
|
||||||
d: 100,
|
d: 100,
|
||||||
e: 101,
|
e: 101,
|
||||||
|
g: 103,
|
||||||
k: 107,
|
k: 107,
|
||||||
o: 111,
|
o: 111,
|
||||||
p: 112,
|
p: 112,
|
||||||
|
|
@ -160,6 +161,7 @@ export const Keys = {
|
||||||
CTRL_C: kittySequence(CODEPOINTS.c, MODIFIERS.ctrl),
|
CTRL_C: kittySequence(CODEPOINTS.c, MODIFIERS.ctrl),
|
||||||
CTRL_D: kittySequence(CODEPOINTS.d, MODIFIERS.ctrl),
|
CTRL_D: kittySequence(CODEPOINTS.d, MODIFIERS.ctrl),
|
||||||
CTRL_E: kittySequence(CODEPOINTS.e, MODIFIERS.ctrl),
|
CTRL_E: kittySequence(CODEPOINTS.e, MODIFIERS.ctrl),
|
||||||
|
CTRL_G: kittySequence(CODEPOINTS.g, MODIFIERS.ctrl),
|
||||||
CTRL_K: kittySequence(CODEPOINTS.k, MODIFIERS.ctrl),
|
CTRL_K: kittySequence(CODEPOINTS.k, MODIFIERS.ctrl),
|
||||||
CTRL_O: kittySequence(CODEPOINTS.o, MODIFIERS.ctrl),
|
CTRL_O: kittySequence(CODEPOINTS.o, MODIFIERS.ctrl),
|
||||||
CTRL_P: kittySequence(CODEPOINTS.p, MODIFIERS.ctrl),
|
CTRL_P: kittySequence(CODEPOINTS.p, MODIFIERS.ctrl),
|
||||||
|
|
@ -214,6 +216,7 @@ const RAW = {
|
||||||
CTRL_C: "\x03",
|
CTRL_C: "\x03",
|
||||||
CTRL_D: "\x04",
|
CTRL_D: "\x04",
|
||||||
CTRL_E: "\x05",
|
CTRL_E: "\x05",
|
||||||
|
CTRL_G: "\x07",
|
||||||
CTRL_K: "\x0b",
|
CTRL_K: "\x0b",
|
||||||
CTRL_O: "\x0f",
|
CTRL_O: "\x0f",
|
||||||
CTRL_P: "\x10",
|
CTRL_P: "\x10",
|
||||||
|
|
@ -256,6 +259,14 @@ export function isCtrlE(data: string): boolean {
|
||||||
return data === RAW.CTRL_E || data === Keys.CTRL_E || matchesKittySequence(data, CODEPOINTS.e, MODIFIERS.ctrl);
|
return data === RAW.CTRL_E || data === Keys.CTRL_E || matchesKittySequence(data, CODEPOINTS.e, MODIFIERS.ctrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if input matches Ctrl+G (raw byte or Kitty protocol).
|
||||||
|
* Ignores lock key bits.
|
||||||
|
*/
|
||||||
|
export function isCtrlG(data: string): boolean {
|
||||||
|
return data === RAW.CTRL_G || data === Keys.CTRL_G || matchesKittySequence(data, CODEPOINTS.g, MODIFIERS.ctrl);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if input matches Ctrl+K (raw byte or Kitty protocol).
|
* Check if input matches Ctrl+K (raw byte or Kitty protocol).
|
||||||
* Ignores lock key bits.
|
* Ignores lock key bits.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue