keycodes.monkey2 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  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. | PrintScreem
  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. Raw=$10000
  121. End
  122. #rem monkeydoc Modifier masks.
  123. | Modifier | Description
  124. |:--------------|:-----------
  125. | LeftShift | Left shift key.
  126. | RightShift | Right shift key.
  127. | LeftControl | Left control key.
  128. | RightControl | Right control key.
  129. | LeftAlt | Left alt key.
  130. | RightAlt | Right alt key.
  131. | LeftGui | Left gui key.
  132. | RightGui | Right gui key.
  133. | NumLock | Num lock key.
  134. | CapsLock | Caps lock key.
  135. | Shift | LeftShit | RightShift mask.
  136. | Control | LeftControl | RightControl mask.
  137. | Alt | LeftAlt | RightAlt mask.
  138. | Gui | LeftGui | RightGui mask.
  139. | LeftMenu | LeftGui on Mac target, LeftControl on other targets.
  140. | RightMenu | RightGui on Mac target, RightControl on other targets.
  141. | Menu | Gui on Mac target, Control on other targets.
  142. #end
  143. Enum Modifier
  144. None= $0000
  145. LeftShift= $0001
  146. RightShift= $0002
  147. LeftControl= $0040
  148. RightControl= $0080
  149. LeftAlt= $0100
  150. RightAlt= $0200
  151. LeftGui= $0400
  152. RightGui= $0800
  153. NumLock= $1000
  154. CapsLock= $2000
  155. Ignore= $4000
  156. Shift= LeftShift|RightShift
  157. Control= LeftControl|RightControl
  158. Alt= LeftAlt|RightAlt
  159. Gui= LeftGui|RightGui
  160. #if __HOSTOS__="macos"
  161. LeftMenu= LeftGui
  162. RightMenu= RightGui
  163. Menu= Gui
  164. #else
  165. LeftMenu= LeftControl
  166. RightMenu= RightControl
  167. Menu= Control
  168. #endif
  169. End