keycodes.monkey2 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. Namespace mojo.input
  2. #rem monkeydoc Key codes.
  3. By default, key codes refer to 'virtual' keys. For example, `KEY_W` refers to the key with 'W' printed on it. However, this key may be not
  4. be in the same physical location on all users' keyboards, due to OS language and keyboard settings.
  5. To deal with this, mojo also provides support for 'raw' keys. A raw key code is simply a virtual key code 'or'ed with the special key code
  6. `Key.Raw`.
  7. A raw key represents the physical location of a key on US keyboards. For example, `Key.Q|Key.Raw` indicates the key at the top left of the
  8. 'qwerty' (or 'azerty' etc) keys regardless of the current OS settings.
  9. | Key
  10. |:---
  11. | A
  12. | B
  13. | C
  14. | D
  15. | E
  16. | F
  17. | G
  18. | H
  19. | I
  20. | J
  21. | K
  22. | L
  23. | M
  24. | N
  25. | O
  26. | P
  27. | Q
  28. | R
  29. | S
  30. | T
  31. | U
  32. | V
  33. | W
  34. | X
  35. | Y
  36. | Z
  37. | Key0
  38. | Key1
  39. | Key2
  40. | Key3
  41. | Key4
  42. | Key5
  43. | Key6
  44. | Key7
  45. | Key8
  46. | Key9
  47. | Enter
  48. | Escape
  49. | Backspace
  50. | Tab
  51. | Space
  52. | Minus
  53. | Equals
  54. | LeftBracket
  55. | RightBracket
  56. | Backslash
  57. | Semicolon
  58. | Apostrophe
  59. | Grave
  60. | Comma
  61. | Period
  62. | Slash
  63. | CapsLock
  64. | F1
  65. | F2
  66. | F3
  67. | F4
  68. | F5
  69. | F6
  70. | F7
  71. | F8
  72. | F9
  73. | F10
  74. | F11
  75. | F12
  76. | PrintScreen
  77. | ScrollLock
  78. | Pause
  79. | Insert
  80. | Home
  81. | PageUp
  82. | KeyDelete
  83. | KeyEnd
  84. | PageDown
  85. | Right
  86. | Left
  87. | Down
  88. | Up
  89. | LeftControl
  90. | LeftShift
  91. | LeftAlt
  92. | LeftGui
  93. | RightControl
  94. | RightShift
  95. | RightAlt
  96. | RightGui
  97. #end
  98. Enum Key
  99. None=0
  100. Backspace=8,Tab
  101. Enter=13
  102. Escape=27
  103. Space=32
  104. Apostrophe=39
  105. Comma=44,Minus,Period,Slash
  106. Key0=48,Key1,Key2,Key3,Key4,Key5,Key6,Key7,Key8,Key9
  107. Semicolon=59
  108. Equals=61
  109. LeftBracket=91,Backslash,RightBracket
  110. Backquote=96
  111. A=97,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
  112. KeyDelete=127
  113. CapsLock=185,F1,F2,F3,F4,F5,F6,F7,F8,F9,F10,F11,F12
  114. PrintScreen,ScrollLock,Pause,Insert,Home,PageUp,nop,KeyEnd,PageDown
  115. Right,Left,Down,Up
  116. KeypadNumLock,KeypadDivide,KeypadMultiply,KeypadMinus,KeypadPlus,KeypadEnter
  117. Keypad1,Keypad2,Keypad3,Keypad4,Keypad5,Keypad6,Keypad7,Keypad8,Keypad9,Keypad0
  118. KeypadPeriod
  119. LeftControl=185+167,LeftShift,LeftAlt,LeftGui,RightControl,RightShift,RightAlt,RightGui
  120. Max
  121. Raw=$10000
  122. End
  123. #rem monkeydoc Modifier masks.
  124. | Modifier | Description
  125. |:--------------|:-----------
  126. | LeftShift | Left shift key.
  127. | RightShift | Right shift key.
  128. | LeftControl | Left control key.
  129. | RightControl | Right control key.
  130. | LeftAlt | Left alt key.
  131. | RightAlt | Right alt key.
  132. | LeftGui | Left gui key.
  133. | RightGui | Right gui key.
  134. | NumLock | Num lock key.
  135. | CapsLock | Caps lock key.
  136. | Shift | LeftShit | RightShift mask.
  137. | Control | LeftControl | RightControl mask.
  138. | Alt | LeftAlt | RightAlt mask.
  139. | Gui | LeftGui | RightGui mask.
  140. | LeftMenu | LeftGui on Mac target, LeftControl on other targets.
  141. | RightMenu | RightGui on Mac target, RightControl on other targets.
  142. | Menu | Gui on Mac target, Control on other targets.
  143. #end
  144. Enum Modifier
  145. None= $0000
  146. LeftShift= $0001
  147. RightShift= $0002
  148. LeftControl= $0040
  149. RightControl= $0080
  150. LeftAlt= $0100
  151. RightAlt= $0200
  152. LeftGui= $0400
  153. RightGui= $0800
  154. NumLock= $1000
  155. CapsLock= $2000
  156. Ignore= $4000
  157. Shift= LeftShift|RightShift
  158. Control= LeftControl|RightControl
  159. Alt= LeftAlt|RightAlt
  160. Gui= LeftGui|RightGui
  161. #if __HOSTOS__="macos"
  162. LeftMenu= LeftGui
  163. RightMenu= RightGui
  164. Menu= Gui
  165. #else
  166. LeftMenu= LeftControl
  167. RightMenu= RightControl
  168. Menu= Control
  169. #endif
  170. End