InputEvent.cpp 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. // zlib open source license
  2. //
  3. // Copyright (c) 2018 to 2019 David Forsgren Piuva
  4. //
  5. // This software is provided 'as-is', without any express or implied
  6. // warranty. In no event will the authors be held liable for any damages
  7. // arising from the use of this software.
  8. //
  9. // Permission is granted to anyone to use this software for any purpose,
  10. // including commercial applications, and to alter it and redistribute it
  11. // freely, subject to the following restrictions:
  12. //
  13. // 1. The origin of this software must not be misrepresented; you must not
  14. // claim that you wrote the original software. If you use this software
  15. // in a product, an acknowledgment in the product documentation would be
  16. // appreciated but is not required.
  17. //
  18. // 2. Altered source versions must be plainly marked as such, and must not be
  19. // misrepresented as being the original software.
  20. //
  21. // 3. This notice may not be removed or altered from any source
  22. // distribution.
  23. #include "InputEvent.h"
  24. using namespace dsr;
  25. inline String dsr::getName(DsrKey v) {
  26. if (v == DsrKey_Unhandled) {
  27. return U"Other";
  28. } else if (v == DsrKey_Escape) {
  29. return U"Escape";
  30. } else if (v == DsrKey_F1) {
  31. return U"F1";
  32. } else if (v == DsrKey_F2) {
  33. return U"F2";
  34. } else if (v == DsrKey_F3) {
  35. return U"F3";
  36. } else if (v == DsrKey_F4) {
  37. return U"F4";
  38. } else if (v == DsrKey_F5) {
  39. return U"F5";
  40. } else if (v == DsrKey_F6) {
  41. return U"F6";
  42. } else if (v == DsrKey_F7) {
  43. return U"F7";
  44. } else if (v == DsrKey_F8) {
  45. return U"F8";
  46. } else if (v == DsrKey_F9) {
  47. return U"F9";
  48. } else if (v == DsrKey_F10) {
  49. return U"F10";
  50. } else if (v == DsrKey_F11) {
  51. return U"F11";
  52. } else if (v == DsrKey_F12) {
  53. return U"F12";
  54. } else if (v == DsrKey_Pause) {
  55. return U"Pause";
  56. } else if (v == DsrKey_Space) {
  57. return U"Space";
  58. } else if (v == DsrKey_Tab) {
  59. return U"Tab";
  60. } else if (v == DsrKey_Return) {
  61. return U"Return";
  62. } else if (v == DsrKey_BackSpace) {
  63. return U"BackSpace";
  64. } else if (v == DsrKey_LeftShift) {
  65. return U"LeftShift";
  66. } else if (v == DsrKey_RightShift) {
  67. return U"RightShift";
  68. } else if (v == DsrKey_LeftControl) {
  69. return U"LeftControl";
  70. } else if (v == DsrKey_RightControl) {
  71. return U"RightControl";
  72. } else if (v == DsrKey_LeftAlt) {
  73. return U"LeftAlt";
  74. } else if (v == DsrKey_RightAlt) {
  75. return U"RightAlt";
  76. } else if (v == DsrKey_Delete) {
  77. return U"Delete";
  78. } else if (v == DsrKey_LeftArrow) {
  79. return U"LeftArrow";
  80. } else if (v == DsrKey_RightArrow) {
  81. return U"RightArrow";
  82. } else if (v == DsrKey_UpArrow) {
  83. return U"UpArrow";
  84. } else if (v == DsrKey_DownArrow) {
  85. return U"DownArrow";
  86. } else if (v == DsrKey_0) {
  87. return U"0";
  88. } else if (v == DsrKey_1) {
  89. return U"1";
  90. } else if (v == DsrKey_2) {
  91. return U"2";
  92. } else if (v == DsrKey_3) {
  93. return U"3";
  94. } else if (v == DsrKey_4) {
  95. return U"4";
  96. } else if (v == DsrKey_5) {
  97. return U"5";
  98. } else if (v == DsrKey_6) {
  99. return U"6";
  100. } else if (v == DsrKey_7) {
  101. return U"7";
  102. } else if (v == DsrKey_8) {
  103. return U"8";
  104. } else if (v == DsrKey_9) {
  105. return U"9";
  106. } else if (v == DsrKey_A) {
  107. return U"A";
  108. } else if (v == DsrKey_B) {
  109. return U"B";
  110. } else if (v == DsrKey_C) {
  111. return U"C";
  112. } else if (v == DsrKey_D) {
  113. return U"D";
  114. } else if (v == DsrKey_E) {
  115. return U"E";
  116. } else if (v == DsrKey_F) {
  117. return U"F";
  118. } else if (v == DsrKey_G) {
  119. return U"G";
  120. } else if (v == DsrKey_H) {
  121. return U"H";
  122. } else if (v == DsrKey_I) {
  123. return U"I";
  124. } else if (v == DsrKey_J) {
  125. return U"J";
  126. } else if (v == DsrKey_K) {
  127. return U"K";
  128. } else if (v == DsrKey_L) {
  129. return U"L";
  130. } else if (v == DsrKey_M) {
  131. return U"M";
  132. } else if (v == DsrKey_N) {
  133. return U"N";
  134. } else if (v == DsrKey_O) {
  135. return U"O";
  136. } else if (v == DsrKey_P) {
  137. return U"P";
  138. } else if (v == DsrKey_Q) {
  139. return U"Q";
  140. } else if (v == DsrKey_R) {
  141. return U"R";
  142. } else if (v == DsrKey_S) {
  143. return U"S";
  144. } else if (v == DsrKey_T) {
  145. return U"T";
  146. } else if (v == DsrKey_U) {
  147. return U"U";
  148. } else if (v == DsrKey_V) {
  149. return U"V";
  150. } else if (v == DsrKey_W) {
  151. return U"W";
  152. } else if (v == DsrKey_X) {
  153. return U"X";
  154. } else if (v == DsrKey_Y) {
  155. return U"Y";
  156. } else if (v == DsrKey_Z) {
  157. return U"Z";
  158. } else {
  159. return U"Invalid virtual key code";
  160. }
  161. }
  162. String& dsr::string_toStreamIndented(String& target, const DsrKey& source, const ReadableString& indentation) {
  163. string_append(target, indentation, getName(source));
  164. return target;
  165. }