entry.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /*
  2. * Copyright 2011-2013 Branimir Karadzic. All rights reserved.
  3. * License: http://www.opensource.org/licenses/BSD-2-Clause
  4. */
  5. #ifndef __ENTRY_H__
  6. #define __ENTRY_H__
  7. namespace entry
  8. {
  9. struct MouseButton
  10. {
  11. enum Enum
  12. {
  13. Left,
  14. Middle,
  15. Right,
  16. Count
  17. };
  18. };
  19. struct Modifier
  20. {
  21. enum Enum
  22. {
  23. None = 0,
  24. LeftAlt = 0x01,
  25. RightAlt = 0x02,
  26. LeftCtrl = 0x04,
  27. RightCtrl = 0x08,
  28. LeftShift = 0x10,
  29. RightShift = 0x20,
  30. LeftMeta = 0x40,
  31. RightMeta = 0x80,
  32. };
  33. };
  34. struct Key
  35. {
  36. enum Enum
  37. {
  38. Unknown = 0,
  39. Esc,
  40. Return,
  41. Tab,
  42. Space,
  43. Backspace,
  44. Up,
  45. Down,
  46. Left,
  47. Right,
  48. PageUp,
  49. PageDown,
  50. Home,
  51. End,
  52. Print,
  53. Plus,
  54. Minus,
  55. F1,
  56. F2,
  57. F3,
  58. F4,
  59. F5,
  60. F6,
  61. F7,
  62. F8,
  63. F9,
  64. F10,
  65. F11,
  66. F12,
  67. NumPad0,
  68. NumPad1,
  69. NumPad2,
  70. NumPad3,
  71. NumPad4,
  72. NumPad5,
  73. NumPad6,
  74. NumPad7,
  75. NumPad8,
  76. NumPad9,
  77. Key0,
  78. Key1,
  79. Key2,
  80. Key3,
  81. Key4,
  82. Key5,
  83. Key6,
  84. Key7,
  85. Key8,
  86. Key9,
  87. KeyA,
  88. KeyB,
  89. KeyC,
  90. KeyD,
  91. KeyE,
  92. KeyF,
  93. KeyG,
  94. KeyH,
  95. KeyI,
  96. KeyJ,
  97. KeyK,
  98. KeyL,
  99. KeyM,
  100. KeyN,
  101. KeyO,
  102. KeyP,
  103. KeyQ,
  104. KeyR,
  105. KeyS,
  106. KeyT,
  107. KeyU,
  108. KeyV,
  109. KeyW,
  110. KeyX,
  111. KeyY,
  112. KeyZ,
  113. };
  114. };
  115. struct Event
  116. {
  117. enum Enum
  118. {
  119. Nop,
  120. Exit,
  121. };
  122. };
  123. Event::Enum poll();
  124. } // namespace entry
  125. #endif // __ENTRY_H__