TastaturEreignis.h 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. #ifndef TastaturEreignis_H
  2. #define TastaturEreignis_H
  3. #include <functional>
  4. #include "Betriebssystem.h"
  5. namespace Framework
  6. {
  7. //! Es wurde eine Taste runtergedrückt
  8. const int TE_Press = 0;
  9. //! Es wurde eine Taste losgelassen
  10. const int TE_Release = 1;
  11. #ifdef WIN32
  12. const unsigned char T_Tab = VK_TAB;
  13. const unsigned char T_Enter = VK_RETURN;
  14. const unsigned char T_BackSpace = VK_BACK;
  15. const unsigned char T_Shift = VK_SHIFT;
  16. const unsigned char T_Strg = VK_CONTROL;
  17. const unsigned char T_Alt = VK_MENU;
  18. const unsigned char T_Pause = VK_PAUSE;
  19. const unsigned char T_Caps_Lock = VK_CAPITAL;
  20. const unsigned char T_Esc = VK_ESCAPE;
  21. const unsigned char T_Space = VK_SPACE;
  22. const unsigned char T_BildO = VK_PRIOR;
  23. const unsigned char T_BildU = VK_NEXT;
  24. const unsigned char T_Ende = VK_END;
  25. const unsigned char T_Pos1 = VK_HOME;
  26. const unsigned char T_Links = VK_LEFT;
  27. const unsigned char T_Oben = VK_UP;
  28. const unsigned char T_Rechts = VK_RIGHT;
  29. const unsigned char T_Unten = VK_DOWN;
  30. const unsigned char T_Druck = VK_PRINT;
  31. const unsigned char T_Einfg = VK_INSERT;
  32. const unsigned char T_Entf = VK_DELETE;
  33. const unsigned char T_F1 = VK_F1;
  34. const unsigned char T_F2 = VK_F2;
  35. const unsigned char T_F3 = VK_F3;
  36. const unsigned char T_F4 = VK_F4;
  37. const unsigned char T_F5 = VK_F5;
  38. const unsigned char T_F6 = VK_F6;
  39. const unsigned char T_F7 = VK_F7;
  40. const unsigned char T_F8 = VK_F8;
  41. const unsigned char T_F9 = VK_F9;
  42. const unsigned char T_F10 = VK_F10;
  43. const unsigned char T_F11 = VK_F11;
  44. const unsigned char T_F12 = VK_F12;
  45. const unsigned char T_Num = VK_NUMLOCK;
  46. const unsigned char T_Alt_Gr = VK_RMENU;
  47. #else
  48. const unsigned char T_Tab = 0x09;
  49. const unsigned char T_Enter = 0x0D;
  50. const unsigned char T_BackSpace = 0x0B;
  51. const unsigned char T_Shift = 0x10;
  52. const unsigned char T_Strg = 0x11;
  53. const unsigned char T_Alt = 0x12;
  54. const unsigned char T_Pause = 0x13;
  55. const unsigned char T_Caps_Lock = 0x14;
  56. const unsigned char T_Esc = 0x1B;
  57. const unsigned char T_Space = 0x20;
  58. const unsigned char T_BildO = 0x21;
  59. const unsigned char T_BildU = 0x22;
  60. const unsigned char T_Ende = 0x23;
  61. const unsigned char T_Pos1 = 0x24;
  62. const unsigned char T_Links = 0x25;
  63. const unsigned char T_Oben = 0x26;
  64. const unsigned char T_Rechts = 0x27;
  65. const unsigned char T_Unten = 0x28;
  66. const unsigned char T_Druck = 0x2A;
  67. const unsigned char T_Einfg = 0x2D;
  68. const unsigned char T_Entf = 0x2E;
  69. const unsigned char T_F1 = 0x70;
  70. const unsigned char T_F2 = 0x71;
  71. const unsigned char T_F3 = 0x72;
  72. const unsigned char T_F4 = 0x73;
  73. const unsigned char T_F5 = 0x74;
  74. const unsigned char T_F6 = 0x75;
  75. const unsigned char T_F7 = 0x76;
  76. const unsigned char T_F8 = 0x77;
  77. const unsigned char T_F9 = 0x78;
  78. const unsigned char T_F10 = 0x79;
  79. const unsigned char T_F11 = 0x7A;
  80. const unsigned char T_F12 = 0x7B;
  81. const unsigned char T_Num = 0x90;
  82. const unsigned char T_Alt_Gr = 0xA5;
  83. #endif
  84. //! Speichert den Input eines Nutzers auf der Tastatur
  85. struct TastaturEreignis
  86. {
  87. //! Art der Eingabe
  88. int id;
  89. //! Betroffene Taste
  90. char taste[3];
  91. //! virtual key code
  92. int virtualKey;
  93. //! (true), wenn die Eingabe bereits verarbeitet wurde. (false) sonnst
  94. bool verarbeitet;
  95. };
  96. typedef std::function<bool(void*, void*, TastaturEreignis)> TastaturAktion;
  97. //! Standart Tastatur Ereinis Rückruffunktion
  98. //! \param param Ein beliebiger Parameter
  99. //! \param obj Die Zeichnung, welches diese Funktion aufruft
  100. //! \param te Das Tastaturereignis, welches verarbeitet werden soll
  101. //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
  102. //! soll. (false) sonnst. Gibt immer (true) zurück
  103. DLLEXPORT bool _ret1TE(void* param, void* obj, TastaturEreignis te);
  104. //! Standart Tastatur Ereinis Rückruffunktion
  105. //! \param param Ein beliebiger Parameter
  106. //! \param obj Die Zeichnung, welches diese Funktion aufruft
  107. //! \param te Das Tastaturereignis, welches verarbeitet werden soll
  108. //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
  109. //! soll. (false) sonnst. Gibt nur (true) zurück, wenn die Taste zwischen
  110. //! '0' und '9' ist, oder zum Löschen oder Cursorbewegen dient
  111. DLLEXPORT bool _nurNummernTE(void* param, void* obj, TastaturEreignis te);
  112. //! Standart Tastatur Ereinis Rückruffunktion
  113. //! \param param Ein beliebiger Parameter
  114. //! \param obj Die Zeichnung, welches diese Funktion aufruft
  115. //! \param te Das Tastaturereignis, welches verarbeitet werden soll
  116. //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten
  117. //! soll. (false) sonnst. Gibt nur (true) zurück, wenn die Taste zwischen
  118. //! '0' und '9' oder 'A' und 'F' ist, oder zum Löschen oder Cursorbewegen
  119. //! dient
  120. DLLEXPORT bool _nurHexTE(void* param, void* obj, TastaturEreignis te);
  121. } // namespace Framework
  122. #endif