blob: 0bb3d31506da8b50b0021821d31ebabf61d64c88 [file] [log] [blame]
// Copyright 2019 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.ui.input2;
/// Semantic Key represents the meaning of a non-symbolic key on a keyboard.
///
/// Definition of each key is derived from W3C named values of a key attribute:
/// https://www.w3.org/TR/uievents-key/#named-key-attribute-values
enum SemanticKeyAction : uint32 {
// Modifier keys
// Reserved range: 0x00000001 - 0x00000020
/// The Alt (Alternative) key.
/// This key enables the alternate modifier function for interpreting
/// concurrent or subsequent keyboard input.
/// This key value is also used for the Apple Option key.
ALT = 0x00000001;
/// The Alternate Graphics (AltGr or AltGraph) key.
/// This key is used enable the ISO Level 3 shift modifier (the standard
/// Shift key is the level 2 modifier). See [ISO9995-1].
ALT_GRAPH = 0x00000002;
/// The Caps Lock (Capital) key.
/// Toggle capital character lock function for interpreting subsequent
/// keyboard input event.
CAPS_LOCK = 0x00000003;
/// The Control or Ctrl key, to enable control modifier function for
/// interpreting concurrent or subsequent keyboard input.
CONTROL = 0x00000004;
/// The Meta key, to enable meta modifier function for interpreting
/// concurrent or subsequent keyboard input.
/// This key value is used for the Windows Logo key and the Apple Command
/// or ⌘ key.
META = 0x00000005;
/// The NumLock or Number Lock key, to toggle numpad mode function for
/// interpreting subsequent keyboard input.
NUM_LOCK = 0x00000006;
/// "ScrollLock" The Scroll Lock key, to toggle between scrolling and cursor
/// movement modes.
SCROLL_LOCK = 0x00000007;
/// The Shift key, to enable shift modifier function for interpreting
/// concurrent or subsequent keyboard input.
SHIFT = 0x00000008;
// Navigation keys
// Reserved range: 0x00000021 - 0x00000030
/// The down arrow key, to navigate or traverse downward.
ARROW_DOWN = 0x00000021;
/// The left arrow key, to navigate or traverse leftward.
ARROW_LEFT = 0x00000022;
/// The right arrow key, to navigate or traverse rightward.
ARROW_RIGHT = 0x00000023;
/// The up arrow key, to navigate or traverse upward.
ARROW_UP = 0x00000024;
/// The End key, used with keyboard entry to go to the end of content.
END = 0x00000025;
/// The Home key, used with keyboard entry, to go to start of content.
/// For the mobile phone Home key (which goes to the phone’s main screen),
/// use "GO_HOME".
HOME = 0x00000026;
// The Page Down key, to scroll down or display next page of content.
PAGE_DOWN = 0x00000027;
// The Page Up key, to scroll up or display previous page of content.
PAGE_UP = 0x00000028;
// Whitespace keys
// Reserved range: 0x00000031 - 0x00000040
/// The Enter or ↵ key, to activate current selection or accept current input.
/// This key value is also used for the Return (Macintosh numpad) key.
ENTER = 0x00000031;
/// The Horizontal Tabulation Tab key.
TAB = 0x00000032;
// Editing keys
// Reserved range: 0x00000041 - 0x00000060
/// The Backspace key. This key value is also used for the key labeled Delete
/// on MacOS keyboards.
BACKSPACE = 0x00000041;
/// The Delete (Del) Key.
/// This key value is also used for the key labeled Delete on MacOS keyboards
/// when modified by the Fn key.
DELETE = 0x00000042;
/// The Insert (Ins) key, to toggle between text modes for insertion or
/// overtyping.
INSERT = 0x00000043;
// General-purpose function keys
// Reserved range: 0x00000061 - 0x00000080
// The F1 key, a general purpose function key, as index 1.
F1 = 0x00000061;
// The F2 key, a general purpose function key, as index 2.
F2 = 0x00000062;
// The F3 key, a general purpose function key, as index 3.
F3 = 0x00000063;
// The F4 key, a general purpose function key, as index 4.
F4 = 0x00000064;
// The F5 key, a general purpose function key, as index 5.
F5 = 0x00000065;
// The F6 key, a general purpose function key, as index 6.
F6 = 0x00000066;
// The F7 key, a general purpose function key, as index 7.
F7 = 0x00000067;
// The F8 key, a general purpose function key, as index 8.
F8 = 0x00000068;
// The F9 key, a general purpose function key, as index 9.
F9 = 0x00000069;
// The F10 key, a general purpose function key, as index 10.
F10 = 0x0000006A;
// The F11 key, a general purpose function key, as index 11.
F11 = 0x0000006B;
// The F12 key, a general purpose function key, as index 12.
F12 = 0x0000006C;
// UI Keys
// Reserved range: 0x00000081 - 0x000000B0
/// Show the application’s context menu.
/// This key is commonly found between the right Meta key and the right
/// Control key.
CONTEXT_MENU = 0x00000081;
/// The Esc key. This key was originally used to initiate an escape sequence,
/// but is now more generally used to exit or "escape" the current context,
/// such as closing a dialog or exiting full screen mode.
ESCAPE = 0x00000082;
// Mobile Phone Keys
// Reserved range: 0x000000B1 - 0x000000D0
/// The Back key.
GO_BACK = 0x000000B1;
/// The Home key, which goes to the phone’s main screen.
GO_HOME = 0x000000B2;
};