Files
blockly/core/utils/keycodes.ts
T
2022-06-17 16:45:17 +00:00

199 lines
3.6 KiB
TypeScript

/**
* @fileoverview Constant declarations for common key codes.
* These methods are not specific to Blockly, and could be factored out into
* a JavaScript framework such as Closure.
*/
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
/**
* Constant declarations for common key codes.
* These methods are not specific to Blockly, and could be factored out into
* a JavaScript framework such as Closure.
* @namespace Blockly.utils.KeyCodes
*/
/**
* Key codes for common characters.
*
* Copied from Closure's goog.events.KeyCodes
*
* This list is not localized and therefore some of the key codes are not
* correct for non US keyboard layouts. See comments below.
*
* @alias Blockly.utils.KeyCodes
*/
export enum KeyCodes {
WIN_KEY_FF_LINUX,
MAC_ENTER = 3,
BACKSPACE = 8,
TAB,
NUM_CENTER = 12,
// NUMLOCK on FF/Safari Mac
ENTER,
SHIFT = 16,
CTRL,
ALT,
PAUSE,
CAPS_LOCK,
ESC = 27,
SPACE = 32,
PAGE_UP,
// also NUM_NORTH_EAST
PAGE_DOWN,
// also NUM_SOUTH_EAST
END,
// also NUM_SOUTH_WEST
HOME,
// also NUM_NORTH_WEST
LEFT,
// also NUM_WEST
UP,
// also NUM_NORTH
RIGHT,
// also NUM_EAST
DOWN,
// also NUM_SOUTH
PLUS_SIGN = 43,
// NOT numpad plus
PRINT_SCREEN,
INSERT,
// also NUM_INSERT
DELETE,
// also NUM_DELETE
ZERO = 48,
ONE,
TWO,
THREE,
FOUR,
FIVE,
SIX,
SEVEN,
EIGHT,
NINE,
FF_SEMICOLON = 59,
// Firefox (Gecko) fires this for semicolon instead of 186
FF_EQUALS = 61,
// Firefox (Gecko) fires this for equals instead of 187
FF_DASH = 173,
// Firefox (Gecko) fires this for dash instead of 189
// Firefox (Gecko) fires this for # on UK keyboards, rather than
// Shift+SINGLE_QUOTE.
FF_HASH = 163,
QUESTION_MARK = 63,
// needs localization
AT_SIGN,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
META,
// WIN_KEY_LEFT
WIN_KEY_RIGHT,
CONTEXT_MENU,
NUM_ZERO = 96,
NUM_ONE,
NUM_TWO,
NUM_THREE,
NUM_FOUR,
NUM_FIVE,
NUM_SIX,
NUM_SEVEN,
NUM_EIGHT,
NUM_NINE,
NUM_MULTIPLY,
NUM_PLUS,
NUM_MINUS = 109,
NUM_PERIOD,
NUM_DIVISION,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
NUMLOCK = 144,
SCROLL_LOCK,
// OS-specific media keys like volume controls and browser controls.
FIRST_MEDIA_KEY = 166,
LAST_MEDIA_KEY = 183,
SEMICOLON = 186,
// needs localization
DASH = 189,
// needs localization
EQUALS = 187,
// needs localization
COMMA,
// needs localization
PERIOD = 190,
// needs localization
SLASH,
// needs localization
APOSTROPHE,
// needs localization
TILDE = 192,
// needs localization
SINGLE_QUOTE = 222,
// needs localization
OPEN_SQUARE_BRACKET = 219,
// needs localization
BACKSLASH,
// needs localization
CLOSE_SQUARE_BRACKET,
// needs localization
WIN_KEY = 224,
MAC_FF_META = 224,
// Firefox (Gecko) fires this for the meta key instead of 91
MAC_WK_CMD_LEFT = 91,
// WebKit Left Command key fired, same as META
MAC_WK_CMD_RIGHT = 93,
// WebKit Right Command key fired, different from META
WIN_IME = 229,
// "Reserved for future use". Some programs (e.g. the SlingPlayer 2.4 ActiveX
// control) fire this as a hacky way to disable screensavers.
VK_NONAME = 252,
// We've seen users whose machines fire this keycode at regular one
// second intervals. The common thread among these users is that
// they're all using Dell Inspiron laptops, so we suspect that this
// indicates a hardware/bios problem.
// http://en.community.dell.com/support-forums/laptop/f/3518/p/19285957/19523128.aspx
PHANTOM = 255
}