MCPcopy Create free account
hub / github.com/RtlZeroMemory/Rezi / keyNameToCode

Function keyNameToCode

packages/core/src/testing/replayScenario.ts:79–138  ·  view source on GitHub ↗
(key: string | number)

Source from the content-addressed store, hash-verified

77}
78
79function keyNameToCode(key: string | number): number {
80 if (typeof key === "number") return key;
81 const normalized = key.trim().toLowerCase();
82 if (normalized.length === 1) return charToKeyCode(normalized) ?? 0;
83 const functionKey = /^f(\d{1,2})$/u.exec(normalized);
84 if (functionKey) {
85 const functionKeyCodes = [
86 ZR_KEY_F1,
87 ZR_KEY_F2,
88 ZR_KEY_F3,
89 ZR_KEY_F4,
90 ZR_KEY_F5,
91 ZR_KEY_F6,
92 ZR_KEY_F7,
93 ZR_KEY_F8,
94 ZR_KEY_F9,
95 ZR_KEY_F10,
96 ZR_KEY_F11,
97 ZR_KEY_F12,
98 ] as const;
99 const index = Number(functionKey[1]) - 1;
100 const code = functionKeyCodes[index];
101 if (code !== undefined) return code;
102 }
103 switch (normalized) {
104 case "enter":
105 case "return":
106 return ZR_KEY_ENTER;
107 case "escape":
108 case "esc":
109 return ZR_KEY_ESCAPE;
110 case "tab":
111 return ZR_KEY_TAB;
112 case "space":
113 return ZR_KEY_SPACE;
114 case "backspace":
115 return ZR_KEY_BACKSPACE;
116 case "delete":
117 case "del":
118 return ZR_KEY_DELETE;
119 case "home":
120 return ZR_KEY_HOME;
121 case "end":
122 return ZR_KEY_END;
123 case "pageup":
124 return ZR_KEY_PAGE_UP;
125 case "pagedown":
126 return ZR_KEY_PAGE_DOWN;
127 case "left":
128 return ZR_KEY_LEFT;
129 case "right":
130 return ZR_KEY_RIGHT;
131 case "up":
132 return ZR_KEY_UP;
133 case "down":
134 return ZR_KEY_DOWN;
135 default:
136 throw new Error(`Unsupported replay scenario key ${JSON.stringify(key)}`);

Callers 1

eventToZrevEventsFunction · 0.70

Calls 1

charToKeyCodeFunction · 0.85

Tested by

no test coverage detected