@tanstack/hotkeys
Version:
Type-safe, framework-agnostic keyboard hotkey management for the browser
85 lines (84 loc) • 1.48 kB
JavaScript
//#region src/_named-keys.ts
/** Names defined for both KeyboardEvent.key and KeyboardEvent.code, beyond the basic key groups. */
const SHARED_NAMED_KEYS = [
"CapsLock",
"ContextMenu",
"Convert",
"KanaMode",
"NonConvert",
"Help",
"Insert",
"NumLock",
"Fn",
"FnLock",
"PrintScreen",
"ScrollLock",
"Pause",
"BrowserBack",
"BrowserFavorites",
"BrowserForward",
"BrowserHome",
"BrowserRefresh",
"BrowserSearch",
"BrowserStop",
"Eject",
"LaunchMail",
"MediaPlayPause",
"MediaStop",
"MediaTrackNext",
"MediaTrackPrevious",
"Power",
"AudioVolumeDown",
"AudioVolumeMute",
"AudioVolumeUp",
"WakeUp",
"Hyper",
"Super",
"Again",
"Copy",
"Cut",
"Find",
"Open",
"Paste",
"Props",
"Select",
"Undo",
"Hiragana",
"Katakana"
];
/** Logical counterparts whose physical positions use different names (for example Sleep and Lang1). */
const LOGICAL_ONLY_NAMED_KEYS = [
"Clear",
"Cancel",
"Standby",
"LaunchApplication1",
"LaunchApplication2",
"LaunchMediaPlayer",
"HangulMode",
"HanjaMode",
"Zenkaku",
"Hankaku",
"ZenkakuHankaku"
];
/** Arrow, Home/End, and PageUp/PageDown keys. */
const NAVIGATION_KEY_NAMES = [
"ArrowUp",
"ArrowDown",
"ArrowLeft",
"ArrowRight",
"Home",
"End",
"PageUp",
"PageDown"
];
/** Editing and special keys. */
const EDITING_KEY_NAMES = [
"Enter",
"Escape",
"Space",
"Tab",
"Backspace",
"Delete"
];
//#endregion
export { EDITING_KEY_NAMES, LOGICAL_ONLY_NAMED_KEYS, NAVIGATION_KEY_NAMES, SHARED_NAMED_KEYS };