MCPcopy
hub / github.com/philc/vimium / actionFromKeyEvent

Method actionFromKeyEvent

pages/vomnibar_page.js:152–184  ·  view source on GitHub ↗
(event)

Source from the content-addressed store, hash-verified

150 // support the arrow keys and various other shortcuts, and this function hides the event-decoding
151 // complexity.
152 actionFromKeyEvent(event) {
153 const key = KeyboardUtils.getKeyChar(event);
154 // Handle <Enter> on "keypress", and other events on "keydown". This avoids interence with CJK
155 // translation (see #2915 and #2934).
156 if ((event.type === "keypress") && (key !== "enter")) return null;
157 if ((event.type === "keydown") && (key === "enter")) return null;
158 if (KeyboardUtils.isEscape(event)) {
159 return "dismiss";
160 } else if (
161 (key === "up") ||
162 (event.shiftKey && (event.key === "Tab")) ||
163 (event.ctrlKey && ((key === "k") || (key === "p")))
164 ) {
165 return "up";
166 } else if ((event.key === "Tab") && !event.shiftKey) {
167 return "tab";
168 } else if (
169 (key === "down") ||
170 (event.ctrlKey && ((key === "j") || (key === "n")))
171 ) {
172 return "down";
173 } else if (event.ctrlKey && (key === "enter")) {
174 return "ctrl-enter";
175 } else if (event.key === "Enter") {
176 return "enter";
177 } else if ((event.key === "Delete") && event.shiftKey && !event.ctrlKey && !event.altKey) {
178 return "remove";
179 } else if (KeyboardUtils.isBackspace(event)) {
180 return "delete";
181 }
182
183 return null;
184 }
185
186 async onKeyEvent(event) {
187 const action = this.actionFromKeyEvent(event);

Callers 1

onKeyEventMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected