Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(428)

Unified Diff: ui/events/keycodes/dom3/dom_code.h

Issue 641753003: DOM Level 3 .code and .key value enumerations. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: remove generator script Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ui/events/keycodes/dom3/dom_code.h
diff --git a/ui/events/keycodes/dom3/dom_code.h b/ui/events/keycodes/dom3/dom_code.h
new file mode 100644
index 0000000000000000000000000000000000000000..fd0d3d3a74695b08adbe87915c2f48323c42a0a0
--- /dev/null
+++ b/ui/events/keycodes/dom3/dom_code.h
@@ -0,0 +1,270 @@
+// Copyright 2014 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef UI_EVENTS_KEYCODES_DOM3_DOM_CODE_H_
+#define UI_EVENTS_KEYCODES_DOM3_DOM_CODE_H_
+
+// DOM Level 3 .code value enumeration constants, as defined by:
+//
+// [0] DOM Level 3 KeyboardEvent code Values,
+// http://www.w3.org/TR/DOM-Level-3-Events-code/
+//
+// That reference should be consulted on the meaning and usage of these
+// values; this file does not attempt to describe that.
+//
+// Additional references:
+//
+// [1] Document Object Model (DOM) Level 3 Events Specification,
+// http://www.w3.org/TR/DOM-Level-3-Events/
+// [2] DOM Level 3 KeyboardEvent key Values,
+// http://www.w3.org/TR/DOM-Level-3-Events-key/
+// [3] Legacy Keyboard Event Properties,
+// https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/Note-KeyProps.html
+// [4] USB HID Usage Tables,
+// http://www.usb.org/developers/devclass_docs/Hut1_11.pdf
+// [5] Linux <linux/evdev.h>
+// [6] Windows <ime.h> and <winuser.h>
+// [7] OS X <HIToolbox/Events.h>
+//
+// DOM3 values are defined as text, but numeric values (enum constants) are
+// useful internally, e.g. for IPC or rapid dispatch. The numeric values
+// are chosen to correspond to the USB codes ((PageID << 16) | UsageID)
+// and the comments below indicate the USB name as well as the DOM3 name.
+// Non-USB codes use page 0.
+//
+// The enum identifiers are systematically derived from the DOM names by
+// inserting an underscore between consecutive 'words' and converting to
+// upper case.
+//
+// This file is organized following the sections of the W3C document [0].
+//
+// When adding a value, be sure to add the DOM name to the string table
+// in keycode_converter.cc as well, and the USB and platform scan codes
+// to keycode_converter_data.h.
+
+namespace ui {
+
+enum class DomCode {
+ // Zero is reserved to mean no value; there is no corresponding DOM string.
+ NONE = 0x0000,
+
+ // Writing System Keys
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-alphanumeric-writing-system
+ BACKQUOTE = 0x070035, // Backquote; ` and ~
+ BACKSLASH = 0x070031, // Backslash; \\ and |
+ BACKSPACE = 0x07002A, // Backspace; Backspace
+ BRACKET_LEFT = 0x07002F, // BracketLeft; [ and {
+ BRACKET_RIGHT = 0x070030, // BracketRight; ] and }
+ COMMA = 0x070036, // Comma; , and <
+ DIGIT0 = 0x070027, // Digit0; 0 and )
+ DIGIT1 = 0x07001E, // Digit1; 1 and !
+ DIGIT2 = 0x07001F, // Digit2; 2 and @
+ DIGIT3 = 0x070020, // Digit3; 3 and #
+ DIGIT4 = 0x070021, // Digit4; 4 and $
+ DIGIT5 = 0x070022, // Digit5; 5 and %
+ DIGIT6 = 0x070023, // Digit6; 6 and ^
+ DIGIT7 = 0x070024, // Digit7; 7 and &
+ DIGIT8 = 0x070025, // Digit8; 8 and *
+ DIGIT9 = 0x070026, // Digit9; 9 and (
+ EQUAL = 0x07002E, // Equal; = and +
+ INTL_BACKSLASH = 0x070064, // IntlBackslash; Non-US \\ and |
+ INTL_HASH = 0x070032, // IntlHash; # and ~
+ INTL_RO = 0x070087, // IntlRo; Non-US / and ?
+ INTL_YEN = 0x070089, // IntlYen; International3
+ KEY_A = 0x070004, // KeyA; a and A
+ KEY_B = 0x070005, // KeyB; b and B
+ KEY_C = 0x070006, // KeyC; c and C
+ KEY_D = 0x070007, // KeyD; d and D
+ KEY_E = 0x070008, // KeyE; e and E
+ KEY_F = 0x070009, // KeyF; f and F
+ KEY_G = 0x07000A, // KeyG; g and G
+ KEY_H = 0x07000B, // KeyH; h and H
+ KEY_I = 0x07000C, // KeyI; i and I
+ KEY_J = 0x07000D, // KeyJ; j and J
+ KEY_K = 0x07000E, // KeyK; k and K
+ KEY_L = 0x07000F, // KeyL; l and L
+ KEY_M = 0x070010, // KeyM; m and M
+ KEY_N = 0x070011, // KeyN; n and N
+ KEY_O = 0x070012, // KeyO; o and O
+ KEY_P = 0x070013, // KeyP; p and P
+ KEY_Q = 0x070014, // KeyQ; q and Q
+ KEY_R = 0x070015, // KeyR; r and R
+ KEY_S = 0x070016, // KeyS; s and S
+ KEY_T = 0x070017, // KeyT; t and T
+ KEY_U = 0x070018, // KeyU; u and U
+ KEY_V = 0x070019, // KeyV; v and V
+ KEY_W = 0x07001A, // KeyW; w and W
+ KEY_X = 0x07001B, // KeyX; x and X
+ KEY_Y = 0x07001C, // KeyY; y and Y
+ KEY_Z = 0x07001D, // KeyZ; z and Z
+ MINUS = 0x07002D, // Minus; - and _
+ PERIOD = 0x070037, // Period; . and >
+ QUOTE = 0x070034, // Quote; $A and $B
+ SEMICOLON = 0x070033, // Semicolon; ; and :
+ SLASH = 0x070038, // Slash; / and ?
+
+ // 2.1.1.2 Functional Keys
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-alphanumeric-functional
+ ALT_LEFT = 0x0700E2, // AltLeft; Left Alt (Meta)
+ ALT_RIGHT = 0x0700E6, // AltRight; Right Alt (Meta)
+ CAPS_LOCK = 0x070039, // CapsLock; Caps Lock
+ CONTEXT_MENU = 0x070065, // ContextMenu; Application (Compose)
+ CONTROL_LEFT = 0x0700E0, // ControlLeft; Left Control
+ CONTROL_RIGHT = 0x0700E4, // ControlRight; Right Control
+ ENTER = 0x070028, // Enter; Return (ENTER)
+ OS_LEFT = 0x0700E3, // OSLeft; Left GUI (Command, Win)
+ OS_RIGHT = 0x0700E7, // OSRight; Right GUI (Command, Win)
+ SHIFT_LEFT = 0x0700E1, // ShiftLeft; Left Shift
+ SHIFT_RIGHT = 0x0700E5, // ShiftRight; Right Shift
+ SPACE = 0x07002C, // Space; Spacebar
+ TAB = 0x07002B, // Tab; Tab
+
+ CONVERT = 0x07008A, // Convert; International4
+ KANA_MODE = 0x070088, // KanaMode; International2
+ LANG1 = 0x070090, // Lang1; LANG1 (Hangul/English)
+ LANG2 = 0x070091, // Lang2; LANG2 (Hanja)
+ LANG3 = 0x070092, // Lang3; LANG3 (Katakana)
+ LANG4 = 0x070093, // Lang4; LANG4 (Hiragana)
+ LANG5 = 0x070094, // Lang5; LANG5 (Zenkaku/Henkaku)
+ NON_CONVERT = 0x07008B, // NonConvert; International5
+
+ // 2.1.2 Control Pad Section
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-controlpad-section
+ DELETE = 0x07004C, // Delete; Delete Forward (DEL)
+ END = 0x07004D, // End; End
+ HELP = 0x070075, // Help; Help
+ HOME = 0x07004A, // Home; Home
+ INSERT = 0x070049, // Insert; Insert
+ PAGE_DOWN = 0x07004E, // PageDown; PageDown
+ PAGE_UP = 0x07004B, // PageUp; PageUp
+
+ // 2.1.3 Arrow Pad Section
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-arrowpad-section
+ ARROW_DOWN = 0x070051, // ArrowDown; DownArrow
+ ARROW_LEFT = 0x070050, // ArrowLeft; LeftArrow
+ ARROW_RIGHT = 0x07004F, // ArrowRight; RightArrow
+ ARROW_UP = 0x070052, // ArrowUp; UpArrow
+
+ // 2.1.4 Numpad Section
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-numpad-section
+ NUM_LOCK = 0x070053, // NumLock; Keypad Num Lock and Clear
+ NUMPAD0 = 0x070062, // Numpad0; Keypad 0 and Insert
+ NUMPAD1 = 0x070059, // Numpad1; Keypad 1 and End
+ NUMPAD2 = 0x07005A, // Numpad2; Keypad 2 and Down Arrow
+ NUMPAD3 = 0x07005B, // Numpad3; Keypad 3 and PageDn
+ NUMPAD4 = 0x07005C, // Numpad4; Keypad 4 and Left Arrow
+ NUMPAD5 = 0x07005D, // Numpad5; Keypad 5
+ NUMPAD6 = 0x07005E, // Numpad6; Keypad 6 and Right Arrow
+ NUMPAD7 = 0x07005F, // Numpad7; Keypad 7 and Home
+ NUMPAD8 = 0x070060, // Numpad8; Keypad 8 and Up Arrow
+ NUMPAD9 = 0x070061, // Numpad9; Keypad 9 and PageUp
+ NUMPAD_ADD = 0x070057, // NumpadAdd; Keypad +
+ NUMPAD_BACKSPACE = 0x0700BB, // NumpadBackspace; Keypad Backspace
+ NUMPAD_CLEAR = 0x0700D8, // NumpadClear; Keypad Clear
+ NUMPAD_CLEAR_ENTRY = 0x0700D9, // NumpadClearEntry; Keypad Clear Entry
+ NUMPAD_COMMA = 0x070085, // NumpadComma; Keypad Comma
+ NUMPAD_DECIMAL = 0x070063, // NumpadDecimal; Keypad . and Delete
+ NUMPAD_DIVIDE = 0x070054, // NumpadDivide; Keypad /
+ NUMPAD_ENTER = 0x070058, // NumpadEnter; Keypad ENTER
+ NUMPAD_EQUAL = 0x070067, // NumpadEqual; Keypad =
+ NUMPAD_MEMORY_ADD = 0x0700D3, // NumpadMemoryAdd; Keypad Memory Add
+ NUMPAD_MEMORY_CLEAR = 0x0700D2, // NumpadMemoryClear; Keypad Memory Clear
+ NUMPAD_MEMORY_RECALL = 0x0700D1, // NumpadMemoryRecall; Keypad Memory Recall
+ NUMPAD_MEMORY_STORE = 0x0700D0, // NumpadMemoryStore; Keypad Memory Store
+ NUMPAD_MEMORY_SUBTRACT = 0x0700D4, // NumpadMemorySubtract;
+ // Keypad Memory Subtract
+ NUMPAD_MULTIPLY = 0x070055, // NumpadMultiply; Keypad *
+ NUMPAD_PAREN_LEFT = 0x0700B6, // NumpadParenLeft; Keypad (
+ NUMPAD_PAREN_RIGHT = 0x0700B7, // NumpadParenRight; Keypad )
+ NUMPAD_SUBTRACT = 0x070056, // NumpadSubtract; Keypad -
+
+ // 2.1.5 Function Section
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-function-section
+ ESCAPE = 0x070029, // Escape; Escape
+ F1 = 0x07003A, // F1; F1
+ F2 = 0x07003B, // F2; F2
+ F3 = 0x07003C, // F3; F3
+ F4 = 0x07003D, // F4; F4
+ F5 = 0x07003E, // F5; F5
+ F6 = 0x07003F, // F6; F6
+ F7 = 0x070040, // F7; F7
+ F8 = 0x070041, // F8; F8
+ F9 = 0x070042, // F9; F9
+ F10 = 0x070043, // F10; F10
+ F11 = 0x070044, // F11; F11
+ F12 = 0x070045, // F12; F12
+ F13 = 0x070068, // F13; F13
+ F14 = 0x070069, // F14; F14
+ F15 = 0x07006A, // F15; F15
+ F16 = 0x07006B, // F16; F16
+ F17 = 0x07006C, // F17; F17
+ F18 = 0x07006D, // F18; F18
+ F19 = 0x07006E, // F19; F19
+ F20 = 0x07006F, // F20; F20
+ F21 = 0x070070, // F21; F21
+ F22 = 0x070071, // F22; F22
+ F23 = 0x070072, // F23; F23
+ F24 = 0x070073, // F24; F24
+ FN = 0x000012, // Fn; not a USB code
+ // FLock is FN_LOCK because F_LOCK conflicts with the lockf(3) macro.
+ FN_LOCK = 0x000013, // FLock; not a USB code
+ PRINT_SCREEN = 0x070046, // PrintScreen; PrintScreen
+ SCROLL_LOCK = 0x070047, // ScrollLock; Scroll Lock
+ PAUSE = 0x070048, // Pause; Pause
+
+ // 2.1.6 Media Keys
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-media
+ BROWSER_BACK = 0x0C0224, // BrowserBack; AC Back
+ BROWSER_FAVORITES = 0x0C022A, // BrowserFavorites; AC Bookmarks
+ BROWSER_FORWARD = 0x0C0225, // BrowserForward; AC Forward
+ BROWSER_HOME = 0x0C0223, // BrowserHome; AC Home
+ BROWSER_REFRESH = 0x0C0227, // BrowserRefresh; AC Refresh
+ BROWSER_SEARCH = 0x0C0221, // BrowserSearch; AC Search
+ BROWSER_STOP = 0x0C0226, // BrowserStop; AC Stop
+ EJECT = 0x0C00B8, // Eject; Eject
+ LAUNCH_APP1 = 0x0C0194, // LaunchApp1; AL Local Machine Browser
+ LAUNCH_APP2 = 0x0C0192, // LaunchApp2; AL Calculator
+ LAUNCH_MAIL = 0x0C018A, // LaunchMail; AL Email Reader
+ MEDIA_PLAY_PAUSE = 0x0C00CD, // MediaPlayPause; Play/Pause
+ MEDIA_SELECT = 0x0C0183, // MediaSelect; AL Consumer Control Configuration
+ MEDIA_STOP = 0x0C00B7, // MediaStop; Stop
+ MEDIA_TRACK_NEXT = 0x0C00B5, // MediaTrackNext; Scan Next Track
+ MEDIA_TRACK_PREVIOUS = 0x0C00B6, // MediaTrackPrevious; Scan Previous Track
+ POWER = 0x070066, // Power; Keyboard Power
+ SLEEP = 0x010082, // Sleep; System Sleep
+ VOLUME_DOWN = 0x070081, // VolumeDown; Volume Down
+ VOLUME_MUTE = 0x07007F, // VolumeMute; Mute
+ VOLUME_UP = 0x070080, // VolumeUp; Volume Up
+ WAKE_UP = 0x010083, // WakeUp; System Wake Up
+
+ // 2.1.7 Legacy Keys and Non-Standard Keys
+ // http://www.w3.org/TR/DOM-Level-3-Events-code/#key-legacy
+ HYPER = 0x000010, // Hyper; not a USB code
+ SUPER = 0x000011, // Super; not a USB code
+ TURBO = 0x000016, // Turbo; not a USB code
+ ABORT = 0x07009B, // Abort; Cancel
+ RESUME = 0x000015, // Resume; not a USB code
+ SUSPEND = 0x000014, // Suspend; not a USB code
+ AGAIN = 0x070079, // Again; Again
+ COPY = 0x07007C, // Copy; Copy
+ CUT = 0x07007B, // Cut; Cut
+ FIND = 0x07007E, // Find; Find
+ OPEN = 0x070074, // Open; Execute
+ PASTE = 0x07007D, // Paste; Paste
+ PROPS = 0x0700A3, // Props; CrSel/Props
+ SELECT = 0x070077, // Select; Select
+ UNDO = 0x07007A, // Undo; Undo
+
+ // Non-standard codes
+ BRIGHTNESS_DOWN = 0x0C0070, // BrightnessDown; Display Brightness Decrement
+ BRIGHTNESS_UP = 0x0C006F, // BrightnessUp; Display Brightness Increment
+ LAUNCH_SCREEN_SAVER = 0x0C019E, // LaunchScreenSaver;
+ // AL Terminal Lock/Screensaver
+ SELECT_TASK = 0x0C01A2, // SelectTask; AL Select Task/Application
+ ZOOM_TOGGLE = 0x0C0232, // ZoomToggle; AC View Toggle
+};
+
+} // namespace ui
+
+#endif // UI_EVENTS_KEYCODES_DOM3_DOM_CODE_H_

Powered by Google App Engine
This is Rietveld 408576698