Open 3D Engine AzFramework API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AzFramework::InputDeviceKeyboard::Key Struct Reference

#include <InputDeviceKeyboard.h>

Static Public Attributes

static constexpr InputChannelId Alphanumeric0 {"keyboard_key_alphanumeric_0"}
 The 0 key.
 
static constexpr InputChannelId Alphanumeric1 {"keyboard_key_alphanumeric_1"}
 The 1 key.
 
static constexpr InputChannelId Alphanumeric2 {"keyboard_key_alphanumeric_2"}
 The 2 key.
 
static constexpr InputChannelId Alphanumeric3 {"keyboard_key_alphanumeric_3"}
 The 3 key.
 
static constexpr InputChannelId Alphanumeric4 {"keyboard_key_alphanumeric_4"}
 The 4 key.
 
static constexpr InputChannelId Alphanumeric5 {"keyboard_key_alphanumeric_5"}
 The 5 key.
 
static constexpr InputChannelId Alphanumeric6 {"keyboard_key_alphanumeric_6"}
 The 6 key.
 
static constexpr InputChannelId Alphanumeric7 {"keyboard_key_alphanumeric_7"}
 The 7 key.
 
static constexpr InputChannelId Alphanumeric8 {"keyboard_key_alphanumeric_8"}
 The 8 key.
 
static constexpr InputChannelId Alphanumeric9 {"keyboard_key_alphanumeric_9"}
 The 9 key.
 
static constexpr InputChannelId AlphanumericA {"keyboard_key_alphanumeric_A"}
 The A key.
 
static constexpr InputChannelId AlphanumericB {"keyboard_key_alphanumeric_B"}
 The B key.
 
static constexpr InputChannelId AlphanumericC {"keyboard_key_alphanumeric_C"}
 The C key.
 
static constexpr InputChannelId AlphanumericD {"keyboard_key_alphanumeric_D"}
 The D key.
 
static constexpr InputChannelId AlphanumericE {"keyboard_key_alphanumeric_E"}
 The E key.
 
static constexpr InputChannelId AlphanumericF {"keyboard_key_alphanumeric_F"}
 The F key.
 
static constexpr InputChannelId AlphanumericG {"keyboard_key_alphanumeric_G"}
 The G key.
 
static constexpr InputChannelId AlphanumericH {"keyboard_key_alphanumeric_H"}
 The H key.
 
static constexpr InputChannelId AlphanumericI {"keyboard_key_alphanumeric_I"}
 The I key.
 
static constexpr InputChannelId AlphanumericJ {"keyboard_key_alphanumeric_J"}
 The J key.
 
static constexpr InputChannelId AlphanumericK {"keyboard_key_alphanumeric_K"}
 The K key.
 
static constexpr InputChannelId AlphanumericL {"keyboard_key_alphanumeric_L"}
 The L key.
 
static constexpr InputChannelId AlphanumericM {"keyboard_key_alphanumeric_M"}
 The M key.
 
static constexpr InputChannelId AlphanumericN {"keyboard_key_alphanumeric_N"}
 The N key.
 
static constexpr InputChannelId AlphanumericO {"keyboard_key_alphanumeric_O"}
 The O key.
 
static constexpr InputChannelId AlphanumericP {"keyboard_key_alphanumeric_P"}
 The P key.
 
static constexpr InputChannelId AlphanumericQ {"keyboard_key_alphanumeric_Q"}
 The Q key.
 
static constexpr InputChannelId AlphanumericR {"keyboard_key_alphanumeric_R"}
 The R key.
 
static constexpr InputChannelId AlphanumericS {"keyboard_key_alphanumeric_S"}
 The S key.
 
static constexpr InputChannelId AlphanumericT {"keyboard_key_alphanumeric_T"}
 The T key.
 
static constexpr InputChannelId AlphanumericU {"keyboard_key_alphanumeric_U"}
 The U key.
 
static constexpr InputChannelId AlphanumericV {"keyboard_key_alphanumeric_V"}
 The V key.
 
static constexpr InputChannelId AlphanumericW {"keyboard_key_alphanumeric_W"}
 The W key.
 
static constexpr InputChannelId AlphanumericX {"keyboard_key_alphanumeric_X"}
 The X key.
 
static constexpr InputChannelId AlphanumericY {"keyboard_key_alphanumeric_Y"}
 The Y key.
 
static constexpr InputChannelId AlphanumericZ {"keyboard_key_alphanumeric_Z"}
 The Z key.
 
static constexpr InputChannelId EditBackspace {"keyboard_key_edit_backspace"}
 The backspace key.
 
static constexpr InputChannelId EditCapsLock {"keyboard_key_edit_capslock"}
 The caps lock key.
 
static constexpr InputChannelId EditEnter {"keyboard_key_edit_enter"}
 The enter/return key.
 
static constexpr InputChannelId EditSpace {"keyboard_key_edit_space"}
 The spacebar key.
 
static constexpr InputChannelId EditTab {"keyboard_key_edit_tab"}
 The tab key.
 
static constexpr InputChannelId Escape {"keyboard_key_escape"}
 The escape key.
 
static constexpr InputChannelId Function01 {"keyboard_key_function_F01"}
 The F1 key.
 
static constexpr InputChannelId Function02 {"keyboard_key_function_F02"}
 The F2 key.
 
static constexpr InputChannelId Function03 {"keyboard_key_function_F03"}
 The F3 key.
 
static constexpr InputChannelId Function04 {"keyboard_key_function_F04"}
 The F4 key.
 
static constexpr InputChannelId Function05 {"keyboard_key_function_F05"}
 The F5 key.
 
static constexpr InputChannelId Function06 {"keyboard_key_function_F06"}
 The F6 key.
 
static constexpr InputChannelId Function07 {"keyboard_key_function_F07"}
 The F7 key.
 
static constexpr InputChannelId Function08 {"keyboard_key_function_F08"}
 The F8 key.
 
static constexpr InputChannelId Function09 {"keyboard_key_function_F09"}
 The F9 key.
 
static constexpr InputChannelId Function10 {"keyboard_key_function_F10"}
 The F10 key.
 
static constexpr InputChannelId Function11 {"keyboard_key_function_F11"}
 The F11 key.
 
static constexpr InputChannelId Function12 {"keyboard_key_function_F12"}
 The F12 key.
 
static constexpr InputChannelId Function13 {"keyboard_key_function_F13"}
 The F13 key.
 
static constexpr InputChannelId Function14 {"keyboard_key_function_F14"}
 The F14 key.
 
static constexpr InputChannelId Function15 {"keyboard_key_function_F15"}
 The F15 key.
 
static constexpr InputChannelId Function16 {"keyboard_key_function_F16"}
 The F16 key.
 
static constexpr InputChannelId Function17 {"keyboard_key_function_F17"}
 The F17 key.
 
static constexpr InputChannelId Function18 {"keyboard_key_function_F18"}
 The F18 key.
 
static constexpr InputChannelId Function19 {"keyboard_key_function_F19"}
 The F19 key.
 
static constexpr InputChannelId Function20 {"keyboard_key_function_F20"}
 The F20 key.
 
static constexpr InputChannelId ModifierAltL {"keyboard_key_modifier_alt_l"}
 The left alt/option key.
 
static constexpr InputChannelId ModifierAltR {"keyboard_key_modifier_alt_r"}
 The right alt/option key.
 
static constexpr InputChannelId ModifierCtrlL {"keyboard_key_modifier_ctrl_l"}
 The left control key.
 
static constexpr InputChannelId ModifierCtrlR {"keyboard_key_modifier_ctrl_r"}
 The right control key.
 
static constexpr InputChannelId ModifierShiftL {"keyboard_key_modifier_shift_l"}
 The left shift key.
 
static constexpr InputChannelId ModifierShiftR {"keyboard_key_modifier_shift_r"}
 The right shift key.
 
static constexpr InputChannelId ModifierSuperL {"keyboard_key_modifier_super_l"}
 The left super {windows or apple} key.
 
static constexpr InputChannelId ModifierSuperR {"keyboard_key_modifier_super_r"}
 The right super {windows or apple} key.
 
static constexpr InputChannelId NavigationArrowDown {"keyboard_key_navigation_arrow_down"}
 The down arrow key.
 
static constexpr InputChannelId NavigationArrowLeft {"keyboard_key_navigation_arrow_left"}
 The left arrow key.
 
static constexpr InputChannelId NavigationArrowRight {"keyboard_key_navigation_arrow_right"}
 The right arrow key.
 
static constexpr InputChannelId NavigationArrowUp {"keyboard_key_navigation_arrow_up"}
 The up arrow key.
 
static constexpr InputChannelId NavigationDelete {"keyboard_key_navigation_delete"}
 The delete key.
 
static constexpr InputChannelId NavigationEnd {"keyboard_key_navigation_end"}
 The end key.
 
static constexpr InputChannelId NavigationHome {"keyboard_key_navigation_home"}
 The home key.
 
static constexpr InputChannelId NavigationInsert {"keyboard_key_navigation_insert"}
 The insert key.
 
static constexpr InputChannelId NavigationPageDown {"keyboard_key_navigation_page_down"}
 The page down key.
 
static constexpr InputChannelId NavigationPageUp {"keyboard_key_navigation_page_up"}
 The page up key.
 
static constexpr InputChannelId NumLock {"keyboard_key_num_lock"}
 The num lock key {the clear key on apple keyboards}.
 
static constexpr InputChannelId NumPad0 {"keyboard_key_numpad_0"}
 The numpad 0 key.
 
static constexpr InputChannelId NumPad1 {"keyboard_key_numpad_1"}
 The numpad 1 key.
 
static constexpr InputChannelId NumPad2 {"keyboard_key_numpad_2"}
 The numpad 2 key.
 
static constexpr InputChannelId NumPad3 {"keyboard_key_numpad_3"}
 The numpad 3 key.
 
static constexpr InputChannelId NumPad4 {"keyboard_key_numpad_4"}
 The numpad 4 key.
 
static constexpr InputChannelId NumPad5 {"keyboard_key_numpad_5"}
 The numpad 5 key.
 
static constexpr InputChannelId NumPad6 {"keyboard_key_numpad_6"}
 The numpad 6 key.
 
static constexpr InputChannelId NumPad7 {"keyboard_key_numpad_7"}
 The numpad 7 key.
 
static constexpr InputChannelId NumPad8 {"keyboard_key_numpad_8"}
 The numpad 8 key.
 
static constexpr InputChannelId NumPad9 {"keyboard_key_numpad_9"}
 The numpad 9 key.
 
static constexpr InputChannelId NumPadAdd {"keyboard_key_numpad_add"}
 The numpad add key.
 
static constexpr InputChannelId NumPadDecimal {"keyboard_key_numpad_decimal"}
 The numpad decimal key.
 
static constexpr InputChannelId NumPadDivide {"keyboard_key_numpad_divide"}
 The numpad divide key.
 
static constexpr InputChannelId NumPadEnter {"keyboard_key_numpad_enter"}
 The numpad enter key.
 
static constexpr InputChannelId NumPadMultiply {"keyboard_key_numpad_multiply"}
 The numpad multiply key.
 
static constexpr InputChannelId NumPadSubtract {"keyboard_key_numpad_subtract"}
 The numpad subtract key.
 
static constexpr InputChannelId PunctuationApostrophe {"keyboard_key_punctuation_apostrophe"}
 The apostrophe key.
 
static constexpr InputChannelId PunctuationBackslash {"keyboard_key_punctuation_backslash"}
 The backslash key.
 
static constexpr InputChannelId PunctuationBracketL {"keyboard_key_punctuation_bracket_l"}
 The left bracket key.
 
static constexpr InputChannelId PunctuationBracketR {"keyboard_key_punctuation_bracket_r"}
 The right bracket key.
 
static constexpr InputChannelId PunctuationComma {"keyboard_key_punctuation_comma"}
 The comma key.
 
static constexpr InputChannelId PunctuationEquals {"keyboard_key_punctuation_equals"}
 The equals key.
 
static constexpr InputChannelId PunctuationHyphen {"keyboard_key_punctuation_hyphen"}
 The hyphen/underscore key.
 
static constexpr InputChannelId PunctuationPeriod {"keyboard_key_punctuation_period"}
 The period key.
 
static constexpr InputChannelId PunctuationSemicolon {"keyboard_key_punctuation_semicolon"}
 The semicolon key.
 
static constexpr InputChannelId PunctuationSlash {"keyboard_key_punctuation_slash"}
 The {forward} slash key.
 
static constexpr InputChannelId PunctuationTilde {"keyboard_key_punctuation_tilde"}
 The tilde/grave key.
 
static constexpr InputChannelId SupplementaryISO {"keyboard_key_supplementary_iso"}
 The supplementary ISO layout key.
 
static constexpr InputChannelId WindowsSystemPause {"keyboard_key_windows_system_pause"}
 The windows pause key.
 
static constexpr InputChannelId WindowsSystemPrint {"keyboard_key_windows_system_print"}
 The windows print key.
 
static constexpr InputChannelId WindowsSystemScrollLock {"keyboard_key_windows_system_scroll_lock"}
 The windows scroll lock key.
 
static constexpr AZStd::array All
 

Detailed Description

All the input channel ids that identify standard physical keyboard keys intended for use as gameplay controls (not virtual keys or ascii/unicode keycodes). They are grouped into categories (roughly based on their physical location and their standard use) as follows.

Note that all these key ids correspond to the physical keys of an ANSI mechanical layout as marked using the standard QWERTY visual layout, except for the ISOAdditional id which corresponds to the additional key (next to left-shift) present on ISO mechanical layouts. The additional keys found on keyboards that use JIS mechanical layouts are not supported.

Alphanumeric Keys

  • The A-Z and 0-9 keys
  • Present on almost all types of physical keyboards

Edit (and escape) Keys

  • The backspace, caps lock, enter, space, tab, and escape keys
  • Present on almost all types of physical keyboards

Function Keys

  • The F1-F12 keys are present on almost all types of physical keyboards
  • The F13-F20 keys are only present on some physical keyboards, so their use should be avoided if you wish to supprt the widest range of keyboard devices

Modifier Keys

  • The (left and right) alt, control, shift, and 'super' (windows/apple) keys
  • Present on almost all types of physical keyboards

Navigation Keys

  • The arrow, delete, insert, home, end, and page up/down keys
  • Not always present on smaller (eg. laptop) keyboards
  • Their use should be avoided if you wish to supprt the widest range of keyboard devices

Numpad Keys

  • The various number pad (or keypad) keys, including num lock
  • Not always present on smaller (eg. laptop) keyboards
  • These ids will be used regardless of whether the num lock key is active
  • Their use should be avoided if you wish to supprt the widest range of keyboard devices

Punctuation Keys

  • The various punctuation character keys (eg. comma, period, slash)
  • Present on almost all types of physical keyboards
  • Not generally used as input for games

Supplementary ISO Key

  • The additional key (found to the right of the left-shift key) on ISO keyboards
  • Its use should be avoided if you wish to support the widest range of keyboard devices

Windows System Keys

  • The windows specific pause/break, print/sysrq, and scroll lock keys
  • Their use should be avoided if you wish to supprt the widest range of keyboard devices

Member Data Documentation

◆ WindowsSystemScrollLock

constexpr InputChannelId AzFramework::InputDeviceKeyboard::Key::WindowsSystemScrollLock {"keyboard_key_windows_system_scroll_lock"}
inlinestaticconstexpr

The windows scroll lock key.

All keyboard key ids


The documentation for this struct was generated from the following file: