xtd 0.2.0
keys.h
Go to the documentation of this file.
1 #pragma once
5 #include <xtd/enum>
6 
8 namespace xtd {
10  namespace forms {
74  enum class keys : long long {
76  none = 0x00000000,
78  lbutton = 0x00000001,
80  rbutton = 0x00000002,
82  cancel = 0x00000003,
84  mbutton = 0x00000004,
86  xbutton1 = 0x00000005,
88  xbutton2 = 0x00000006,
90  back = 0x00000008,
92  tab = 0x00000009,
94  line_feed = 0x0000000A,
96  clear = 0x0000000C,
98  enter = 0x0000000D,
100  ret = enter,
102  shift_key = 0x00000010,
104  control_key = 0x00000011,
106  menu = 0x00000012,
108  pause = 0x00000013,
110  caps_lock = 0x00000014,
112  capital = 0x00000014,
114  kana_mode = 0x00000015,
116  hanguel_mode = 0x00000015,
118  hangul_mode = 0x00000015,
120  junja_mode = 0x00000017,
122  final_mode = 0x00000018,
124  kanji_mode = 0x00000019,
126  hanja_mode = 0x00000019,
128  escape = 0x0000001B,
130  ime_convert = 0x0000001C,
132  ime_nonconvert = 0x0000001D,
134  ime_accept = 0x0000001E,
136  ime_mode_change = 0x0000001F,
138  space = 0x00000020,
140  page_up = 0x00000021,
142  prior = page_up,
144  page_down = 0x00000022,
146  next = page_down,
148  end = 0x00000023,
150  home = 0x00000024,
152  left = 0x00000025,
154  up = 0x00000026,
156  right = 0x00000027,
158  down = 0x00000028,
160  select = 0x00000029,
162  print = 0x0000002A,
164  execute = 0x0000002B,
166  print_screen = 0x0000002C,
170  insert = 0x0000002D,
172  del = 0x0000002E,
174  help = 0x0000002F,
176  d0 = 0x00000030,
178  d1 = 0x00000031,
180  d2 = 0x00000032,
182  d3 = 0x00000033,
184  d4 = 0x00000034,
186  d5 = 0x00000035,
188  d6 = 0x00000036,
190  d7 = 0x00000037,
192  d8 = 0x00000038,
194  d9 = 0x00000039,
196  a = 0x00000041,
198  b = 0x00000042,
200  c = 0x00000043,
202  d = 0x00000044,
204  e = 0x00000045,
206  f = 0x00000046,
208  g = 0x00000047,
210  h = 0x00000048,
212  i = 0x00000049,
214  j = 0x0000004A,
216  k = 0x0000004B,
218  l = 0x0000004C,
220  m = 0x0000004D,
222  n = 0x0000004E,
224  o = 0x0000004F,
226  p = 0x00000050,
228  q = 0x00000051,
230  r = 0x00000052,
232  s = 0x00000053,
234  t = 0x00000054,
236  u = 0x00000055,
238  v = 0x00000056,
240  w = 0x00000057,
242  x = 0x00000058,
244  y = 0x00000059,
246  z = 0x0000005A,
248  lwin = 0x0000005B,
250  rwin = 0x0000005C,
252  apps = 0x0000005D,
254  sleep = 0x0000005F,
256  num_pad0 = 0x00000060,
258  num_pad1 = 0x00000061,
260  num_pad2 = 0x00000062,
262  num_pad3 = 0x00000063,
264  num_pad4 = 0x00000064,
266  num_pad5 = 0x00000065,
268  num_pad6 = 0x00000066,
270  num_pad7 = 0x00000067,
272  num_pad8 = 0x00000068,
274  num_pad9 = 0x00000069,
276  multiply = 0x0000006A,
278  add = 0x0000006B,
280  separator = 0x0000006C,
282  subtract = 0x0000006D,
284  decimal = 0x0000006E,
286  divide = 0x0000006F,
288  f1 = 0x00000070,
290  f2 = 0x00000071,
292  f3 = 0x00000072,
294  f4 = 0x00000073,
296  f5 = 0x00000074,
298  f6 = 0x00000075,
300  f7 = 0x00000076,
302  f8 = 0x00000077,
304  f9 = 0x00000078,
306  f10 = 0x00000079,
308  f11 = 0x0000007A,
310  f12 = 0x0000007B,
312  f13 = 0x0000007C,
314  f14 = 0x0000007D,
316  f15 = 0x0000007E,
318  f16 = 0x0000007F,
320  f17 = 0x00000080,
322  f18 = 0x00000081,
324  f19 = 0x00000082,
326  f20 = 0x00000083,
328  f21 = 0x00000084,
330  f22 = 0x00000085,
332  f23 = 0x00000086,
334  f24 = 0x00000087,
336  num_lock = 0x00000090,
338  scroll = 0x00000091,
340  lshift_key = 0x000000A0,
342  rshift_key = 0x000000A1,
344  lcontrol_key = 0x000000A2,
346  rcontrol_key = 0x000000A3,
348  lmenu = 0x000000A4,
350  rmenu = 0x000000A5,
352  browser_back = 0x000000A6,
354  browser_forward = 0x000000A7,
356  browser_refresh = 0x000000A8,
358  browser_stop = 0x000000A9,
360  browser_search = 0x000000AA,
362  browser_favorites = 0x000000AB,
364  browser_home = 0x000000AC,
366  volume_mute = 0x000000AD,
368  volume_down = 0x000000AE,
370  volume_up = 0x000000AF,
372  media_next_track = 0x000000B0,
374  media_previous_track = 0x000000B1,
376  media_stop = 0x000000B2,
378  media_play_pause = 0x000000B3,
380  launch_mail = 0x000000B4,
382  select_media = 0x000000B5,
384  launch_application1 = 0x000000B6,
386  launch_application2 = 0x000000B7,
388  oem_semicolon = 0x000000BA,
392  oem_plus = 0x000000BB,
394  oem_comma = 0x000000BC,
396  oem_minus = 0x000000BD,
398  oem_period = 0x000000BE,
400  oem_question = 0x000000BF,
402  oem2 = oem_question,
404  oem_tilde = 0x000000C0,
406  oem3 = oem_tilde,
408  oem_open_brackets = 0x000000DB,
412  oem_pipe = 0x000000DC,
414  oem5 = oem_pipe,
416  oem_close_brackets = 0x000000DD,
420  oem_quotes = 0x000000DE,
422  oem7 = oem_quotes,
424  oem8 = 0x000000DF,
426  oem_backslash = 0x000000E2,
430  process_key = 0x000000E5,
432  packet = 0x000000E7,
434  attn = 0x000000F6,
436  crsel = 0x000000F7,
438  exsel = 0x000000F8,
440  erase_eof = 0x000000F9,
442  play = 0x000000FA,
444  zoom = 0x000000FB,
446  no_name = 0x000000FC,
448  pa1 = 0x000000FD,
450  oem_clear = 0x000000FE,
452  command_key = 0x00000100,
454  lcommand_key = 0x00000101,
456  rcommand_key = 0x00000102,
458  function_key = 0x00000104,
460  shift = 0x00010000,
462  control = 0x00020000,
464  alt = 0x00040000,
466  command = 0x00080000,
468  meta = 0x00100000,
470  function = 0x00200000,
472  key_code = 0x0000FFFF,
474  modifiers = 0xFFFF0000,
475  };
476  }
477 }
478 
481 
482 template<> struct xtd::enum_register<xtd::forms::keys> {
483  explicit operator auto() const noexcept {return xtd::enum_collection<xtd::forms::keys> {{xtd::forms::keys::none, "none"}, {xtd::forms::keys::lbutton, "lbutton"}, {xtd::forms::keys::rbutton, "rbutton"}, {xtd::forms::keys::cancel, "cancel"}, {xtd::forms::keys::mbutton, "mbutton"}, {xtd::forms::keys::xbutton1, "xbutton1"}, {xtd::forms::keys::xbutton2, "xbutton2"}, {xtd::forms::keys::back, "back"}, {xtd::forms::keys::tab, "tab"}, {xtd::forms::keys::line_feed, "line_feed"}, {xtd::forms::keys::clear, "clear"}, /*{xtd::forms::keys::ret, "ret"},*/ {xtd::forms::keys::enter, "enter"}, {xtd::forms::keys::shift_key, "shift_key"}, {xtd::forms::keys::control_key, "control_key"}, {xtd::forms::keys::menu, "menu"}, {xtd::forms::keys::pause, "pause"}, {xtd::forms::keys::caps_lock, "caps_lock"}, /*{xtd::forms::keys::capital, "capital"},*/ {xtd::forms::keys::kana_mode, "kana_mode"}, /*{xtd::forms::keys::hanguel_mode, "hanguel_mode"}, {xtd::forms::keys::hangul_mode, "hangul_mode"},*/ {xtd::forms::keys::junja_mode, "junja_mode"}, {xtd::forms::keys::final_mode, "final_mode"}, {xtd::forms::keys::kanji_mode, "kanji_mode"}, /*{xtd::forms::keys::Hhnja_mode, "hanja_mode"},*/ {xtd::forms::keys::escape, "escape"}, {xtd::forms::keys::ime_convert, "ime_convert"}, {xtd::forms::keys::ime_nonconvert, "ime_nonconvert"}, {xtd::forms::keys::ime_mode_change, "ime_mode_change"}, {xtd::forms::keys::space, "space"}, {xtd::forms::keys::page_up, "page_up"}, /*{xtd::forms::keys::prior, "prior"},*/ {xtd::forms::keys::page_down, "page_down"}, /*{xtd::forms::keys::next, "Nnxt"},*/ {xtd::forms::keys::end, "end"}, {xtd::forms::keys::home, "home"}, {xtd::forms::keys::left, "left"}, {xtd::forms::keys::up, "up"}, {xtd::forms::keys::right, "right"}, {xtd::forms::keys::down, "down"}, {xtd::forms::keys::select, "select"}, {xtd::forms::keys::print, "print"}, {xtd::forms::keys::execute, "execute"}, {xtd::forms::keys::print_screen, "print_screen"}, /*{xtd::forms::keys::snapshot, "snapshot"},*/ {xtd::forms::keys::insert, "insert"}, {xtd::forms::keys::del, "del"}, {xtd::forms::keys::help, "help"}, {xtd::forms::keys::d0, "d0"}, {xtd::forms::keys::d1, "d1"}, {xtd::forms::keys::d2, "d2"}, {xtd::forms::keys::d3, "d3"}, {xtd::forms::keys::d4, "d4"}, {xtd::forms::keys::d5, "d5"}, {xtd::forms::keys::d6, "d6"}, {xtd::forms::keys::d7, "d7"}, {xtd::forms::keys::d8, "d8"}, {xtd::forms::keys::d9, "d9"}, {xtd::forms::keys::a, "a"}, {xtd::forms::keys::b, "b"}, {xtd::forms::keys::c, "c"}, {xtd::forms::keys::d, "d"}, {xtd::forms::keys::e, "e"}, {xtd::forms::keys::f, "f"}, {xtd::forms::keys::g, "g"}, {xtd::forms::keys::h, "h"}, {xtd::forms::keys::i, "i"}, {xtd::forms::keys::j, "j"}, {xtd::forms::keys::k, "k"}, {xtd::forms::keys::l, "l"}, {xtd::forms::keys::m, "m"}, {xtd::forms::keys::n, "n"}, {xtd::forms::keys::o, "o"}, {xtd::forms::keys::p, "p"}, {xtd::forms::keys::q, "q"}, {xtd::forms::keys::r, "r"}, {xtd::forms::keys::s, "s"}, {xtd::forms::keys::t, "t"}, {xtd::forms::keys::u, "u"}, {xtd::forms::keys::v, "v"}, {xtd::forms::keys::w, "w"}, {xtd::forms::keys::x, "x"}, {xtd::forms::keys::y, "y"}, {xtd::forms::keys::z, "z"}, {xtd::forms::keys::lwin, "lwin"}, {xtd::forms::keys::rwin, "rwin"}, {xtd::forms::keys::apps, "apps"}, {xtd::forms::keys::num_pad0, "num_pad0"}, {xtd::forms::keys::num_pad1, "num_pad1"}, {xtd::forms::keys::num_pad2, "num_pad2"}, {xtd::forms::keys::num_pad3, "num_pad3"}, {xtd::forms::keys::num_pad4, "num_pad4"}, {xtd::forms::keys::num_pad5, "num_pad5"}, {xtd::forms::keys::num_pad6, "num_pad6"}, {xtd::forms::keys::num_pad7, "num_pad7"}, {xtd::forms::keys::num_pad8, "num_pad8"}, {xtd::forms::keys::num_pad9, "num_pad9"}, {xtd::forms::keys::multiply, "multiply"}, {xtd::forms::keys::add, "add"}, {xtd::forms::keys::separator, "separator"}, {xtd::forms::keys::subtract, "subtract"}, {xtd::forms::keys::decimal, "decimal"}, {xtd::forms::keys::divide, "divide"}, {xtd::forms::keys::f1, "f1"}, {xtd::forms::keys::f2, "f2"}, {xtd::forms::keys::f3, "f3"}, {xtd::forms::keys::f4, "f4"}, {xtd::forms::keys::f5, "f5"}, {xtd::forms::keys::f6, "f6"}, {xtd::forms::keys::f7, "f7"}, {xtd::forms::keys::f8, "f8"}, {xtd::forms::keys::f9, "f9"}, {xtd::forms::keys::f10, "f10"}, {xtd::forms::keys::f11, "f11"}, {xtd::forms::keys::f12, "f12"}, {xtd::forms::keys::f13, "f13"}, {xtd::forms::keys::f14, "f14"}, {xtd::forms::keys::f15, "f15"}, {xtd::forms::keys::f16, "f16"}, {xtd::forms::keys::f17, "f17"}, {xtd::forms::keys::f18, "f18"}, {xtd::forms::keys::f19, "f19"}, {xtd::forms::keys::f20, "f20"}, {xtd::forms::keys::f21, "f21"}, {xtd::forms::keys::f22, "f22"}, {xtd::forms::keys::f23, "f23"}, {xtd::forms::keys::f24, "f24"}, {xtd::forms::keys::num_lock, "num_lock"}, {xtd::forms::keys::scroll, "scroll"}, {xtd::forms::keys::lshift_key, "lshift_key"}, {xtd::forms::keys::rshift_key, "rshift_key"}, {xtd::forms::keys::lcontrol_key, "lcontrol_key"}, {xtd::forms::keys::rcontrol_key, "rcontrol_key"}, {xtd::forms::keys::lmenu, "lmenu"}, {xtd::forms::keys::rmenu, "rmenu"}, {xtd::forms::keys::browser_back, "browser_back"}, {xtd::forms::keys::browser_favorites, "browser_favorites"}, {xtd::forms::keys::browser_forward, "browser_forward"}, {xtd::forms::keys::browser_refresh, "browser_refresh"}, {xtd::forms::keys::browser_search, "browser_search"}, {xtd::forms::keys::browser_stop, "browser_stop"}, {xtd::forms::keys::browser_home, "browser_home"}, {xtd::forms::keys::volume_mute, "volume_mute"}, {xtd::forms::keys::volume_down, "volume_down"}, {xtd::forms::keys::volume_up, "volume_up"}, {xtd::forms::keys::media_next_track, "media_next_track"}, {xtd::forms::keys::media_play_pause, "media_play_pause"}, {xtd::forms::keys::media_previous_track, "media_previous_track"}, {xtd::forms::keys::media_stop, "media_stop"}, {xtd::forms::keys::launch_mail, "launch_mail"}, {xtd::forms::keys::select_media, "select_media"}, {xtd::forms::keys::launch_application1, "launch_application1"}, {xtd::forms::keys::launch_application2, "launch_application2"}, {xtd::forms::keys::oem_plus, "oem_plus"}, {xtd::forms::keys::oem_comma, "oem_comma"}, {xtd::forms::keys::oem_minus, "oem_minus"}, {xtd::forms::keys::oem_period, "oem_period"}, {xtd::forms::keys::oem_question, "oem_question"}, {xtd::forms::keys::oem_tilde, "oem_tilde"}, {xtd::forms::keys::oem_open_brackets, "oem_open_brackets"}, {xtd::forms::keys::oem_pipe, "oem_pipe"}, {xtd::forms::keys::oem_close_brackets, "oem_close_brackets"}, {xtd::forms::keys::oem_quotes, "oem_quotes"}, {xtd::forms::keys::oem8, "oem8"}, {xtd::forms::keys::oem_backslash, "oem_backslash"}, {xtd::forms::keys::process_key, "process_key"}, {xtd::forms::keys::attn, "attn"}, {xtd::forms::keys::crsel, "crsel"}, {xtd::forms::keys::exsel, "exsel"}, {xtd::forms::keys::erase_eof, "erase_eof"}, {xtd::forms::keys::play, "play"}, {xtd::forms::keys::zoom, "zoom"}, {xtd::forms::keys::no_name, "no_name"}, {xtd::forms::keys::pa1, "pa1"}, {xtd::forms::keys::oem_clear, "oem_clear"}, {xtd::forms::keys::key_code, "key_code"}, {xtd::forms::keys::shift, "shift"}, {xtd::forms::keys::control, "control"}, {xtd::forms::keys::alt, "alt"}, {xtd::forms::keys::command, "command"}, {xtd::forms::keys::meta, "meta"}, {xtd::forms::keys::function, "function"}, {xtd::forms::keys::modifiers, "modifiers"}, {xtd::forms::keys::ime_accept, "ime_accept"}, {xtd::forms::keys::oem1, "oem1"}, /*{xtd::forms::keys::oem102, "oem102"}, {xtd::forms::keys::oem2, "oem2"}, {xtd::forms::keys::oem3, "oem3"}, {xtd::forms::keys::oem4, "oem4"}, {xtd::forms::keys::oem5, "oem5"}, {xtd::forms::keys::oem6, "oem6"}, {xtd::forms::keys::oem7, "oem7"},*/ {xtd::forms::keys::packet, "packet"}, {xtd::forms::keys::sleep, "sleep"}, {xtd::forms::keys::command_key, "command_key"}, {xtd::forms::keys::lcommand_key, "lcommand_key"}, {xtd::forms::keys::rcommand_key, "rcommand_key"}, {xtd::forms::keys::function_key, "function_key"}};}
484 };
The OEM 8 key.
The bitmask to extract modifiers from a key value.
The CANCEL key.
The start application one key.
The left mouse button.
The IME Hangul mode key.
A constant reserved for future use.
The ERASE EOF key.
The INSERT key.
The media previous track key.
The right ALT key.
The EXECUTE key.
The media play pause key.
The OEM 6 key.
The OEM 5 key.
The OEM 102 key.
The LINEFEED key.
long double decimal
Represents a decimal-precision floating-point number.
Definition: types.h:96
The IME nonconvert key.
The browser search key.
The PRINT SCREEN key.
The OEM Semicolon key on a US standard keyboard.
The SHIFt modifier key.
The OEM angle bracket or backslash key on the RT 102 key keyboard.
The OEM close bracket key on a US standard keyboard.
No key pressed.
The browser favorites key.
The decimal key.
The IME Hanja mode key.
The browser home key.
The xtd namespace contains all fundamental classes to access Hardware, Os, System, and more.
Definition: system_report.h:17
The left SHIFT key.
The IME mode change key.
The launch mail key.
The 1 key on the numeric keypad.
The image is enlarged within the control&#39;s client rectangle.
The bitmask to extract a key code from a key value.
std::vector< std::pair< enum_t, xtd::ustring > > enum_collection
Represents a pair of an enum_t value and a string of an enum of type enum_t.
Definition: enum_collection.h:19
The volume mute key.
The browser back key.
The divide key.
The volume up key.
The media next track key.
The OEM question mark key on a US standard keyboard.
The PAGE UP key.
The FUNCTION modifier key.
The SPACEBAR key.
The 2 key on the numeric keypad.
The browser refresh key.
The METTA modifier key.
The right SHIFT key.
The browser stop key.
The IME Kana mode key.
The media stop key.
The OEM 4 key.
The CTRL modifier key.
The separator key.
The PAGE UP key.
The second x mouse button (five-button mouse).
The 4 key on the numeric keypad.
The PROCESS KEY key.
The IME Hanguel mode key. (maintained for compatibility; use HangulMode)
The OEM minus key on any country/region keyboard.
The OEM 7 key.
The ALT modifier key.
The left Windows logo key (Microsoft Natural Keyboard).
The 9 key on the numeric keypad.
The SELECT key.
The OEM pipe key on a US standard keyboard.
The OEM comma key on any country/region keyboard.
The OEM singled/double quote key on a US standard keyboard.
The browser forward key.
The 0 key on the numeric keypad.
The OEM open bracket key on a US standard keyboard.
The left ALT key.
The 3 key on the numeric keypad.
The CAPS LOCK key.
The CAPS LOCK key.
The 8 key on the numeric keypad.
Represents the base functionality for all menus. Although tool_strip_drop_down and tool_strip_drop_do...
Definition: menu.h:35
Defines the base class for controls, which are components with visual representation.
Definition: control.h:78
The PAGE DOWN key.
The 6 key on the numeric keypad.
The IME Final mode key.
The OEM 3 key.
The OEM period key on any country/region keyboard.
The 5 key on the numeric keypad.
The SCROLL LOCK key.
keys
Specifies key codes and modifiers.
Definition: keys.h:74
The OEM plus key on any country/region keyboard.
The right mouse button.
The RETURN key.
The right CTRL key.
The PAGE DOWN key.
The IME accept key.
The xtd::forms namespace contains classes for creating Windows-based applications that take full adva...
Definition: about_box.h:13
The PRINT SCREEN key.
The OEM 1 key.
The IME Kanji mode key.
Used to pass Unicode characters as if they were keystrokes. The Packet key value is the low word of a...
The 7 key on the numeric keypad.
The IME convert key.
#define flags_attribute_(namespace_name, enum_type)
Provides the set attribute struct for enumerations helper.
Definition: flags_attribute.h:34
The OEM 2 key.
The OEM tilde key on a US standard keyboard.
The right Windows logo key (Microsoft Natural Keyboard).
The application key (Microsoft Natural Keyboard).
The computer sleep key.
The IME Junja mode key.
The CMD modifier key.
The NUM LOCK key.
The select media key.
The start application two key.
The multiply key.
The volume down key.
The first x mouse button (five-button mouse).
The subtract key.
The middle mouse button (three-button mouse).
Provides the registration struct for enumerations.
Definition: enum_register.h:36