Input.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. using System;
  2. namespace Urho {
  3. [Flags]
  4. public enum MouseButton {
  5. Left = 1 << 0,
  6. Middle = 1 << 1,
  7. Right = 1 << 2,
  8. X1 = 1 << 3,
  9. X2 = 1 << 4,
  10. }
  11. public enum Key {
  12. A = 'a',
  13. B = 'b',
  14. C = 'c',
  15. D = 'd',
  16. E = 'e',
  17. F = 'f',
  18. G = 'g',
  19. H = 'h',
  20. I = 'i',
  21. J = 'j',
  22. K = 'k',
  23. L = 'l',
  24. M = 'm',
  25. N = 'n',
  26. O = 'o',
  27. P = 'p',
  28. Q = 'q',
  29. R = 'r',
  30. S = 's',
  31. T = 't',
  32. U = 'u',
  33. V = 'v',
  34. W = 'w',
  35. X = 'x',
  36. Y = 'y',
  37. Z = 'z',
  38. N0 = '0',
  39. N1 = '1',
  40. N2 = '2',
  41. N3 = '3',
  42. N4 = '4',
  43. N5 = '5',
  44. N6 = '6',
  45. N7 = '7',
  46. N8 = '8',
  47. N9 = '9',
  48. Backspace = 0x00000008,
  49. Tab = 0x00000009,
  50. Return = 0x0000000d,
  51. Return2 = 0x4000009e,
  52. Kp_ENTER = 0x40000058,
  53. Shift = 0x400000e1,
  54. Ctrl = 0x400000e0,
  55. Alt = 0x400000e2,
  56. Gui = 0x400000e3,
  57. Pause = 0x40000048,
  58. Capslock = 0x40000039,
  59. Esc = 0x0000001b,
  60. Space = 0x00000020,
  61. PageUp = 0x4000004b,
  62. PageDown = 0x4000004e,
  63. End = 0x4000004d,
  64. Home = 0x4000004a,
  65. Left = 0x40000050,
  66. Up = 0x40000052,
  67. Right = 0x4000004f,
  68. Down = 0x40000051,
  69. Select = 0x40000077,
  70. PrintScreen = 0x40000046,
  71. Insert = 0x40000049,
  72. Delete = 0x0000007f,
  73. LeftGui = 0x400000e3,
  74. RightGui = 0x400000e7,
  75. Application = 0x40000065,
  76. KP_0 = 0x40000062,
  77. KP_1 = 0x40000059,
  78. KP_2 = 0X4000005A,
  79. KP_3 = 0x4000005b,
  80. KP_4 = 0x4000005c,
  81. KP_5 = 0X4000005D,
  82. KP_6 = 0X4000005E,
  83. KP_7 = 0X4000005F,
  84. KP_8 = 0X40000060,
  85. KP_9 = 0x40000061,
  86. KP_Multiply = 0x40000055,
  87. KP_Plus = 0x40000057,
  88. KP_Minus = 0x40000056,
  89. KP_Period = 0x40000063,
  90. KP_Divide = 0x40000054,
  91. F1 = 0x4000003a,
  92. F2 = 0x4000003b,
  93. F3 = 0x4000003c,
  94. F4 = 0x4000003d,
  95. F5 = 0x4000003e,
  96. F6 = 0x4000003f,
  97. F7 = 0x40000040,
  98. F8 = 0x40000041,
  99. F9 = 0x40000042,
  100. F10 = 0x40000043,
  101. F11 = 0x40000044,
  102. F12 = 0x40000045,
  103. F13 = 0x40000068,
  104. F14 = 0x40000069,
  105. F15 = 0x4000006a,
  106. F16 = 0x4000006b,
  107. F17 = 0x4000006c,
  108. F18 = 0x4000006d,
  109. F19 = 0x4000006e,
  110. F20 = 0x4000006f,
  111. F21 = 0x40000070,
  112. F22 = 0x40000071,
  113. F23 = 0x40000072,
  114. F24 = 0x40000073,
  115. NumlockClear = 0x40000053,
  116. ScrollLock = 0x40000047,
  117. LeftShift = 0x400000e1,
  118. RightShift = 0x400000e5,
  119. LeftCtrl = 0x400000e0,
  120. RightCtrl = 0x400000e4,
  121. LeftAlt = 0x400000e2,
  122. RightAlt = 0x400000e6,
  123. }
  124. public partial class Input {
  125. public unsafe bool TryGetJoystickState(uint idx, out JoystickState state)
  126. {
  127. Runtime.ValidateRefCounted(this);
  128. var x = GetJoystickByIndex(idx);
  129. if (x != null)
  130. {
  131. state = *x;
  132. return true;
  133. }
  134. state = new JoystickState();
  135. return false;
  136. }
  137. }
  138. }