#ifndef TastaturEreignis_H #define TastaturEreignis_H #include #include "Betriebssystem.h" namespace Framework { //! Es wurde eine Taste runtergedrückt const int TE_Press = 0; //! Es wurde eine Taste losgelassen const int TE_Release = 1; #ifdef WIN32 const unsigned char T_Tab = VK_TAB; const unsigned char T_Enter = VK_RETURN; const unsigned char T_BackSpace = VK_BACK; const unsigned char T_Shift = VK_SHIFT; const unsigned char T_Strg = VK_CONTROL; const unsigned char T_Alt = VK_MENU; const unsigned char T_Pause = VK_PAUSE; const unsigned char T_Caps_Lock = VK_CAPITAL; const unsigned char T_Esc = VK_ESCAPE; const unsigned char T_Space = VK_SPACE; const unsigned char T_BildO = VK_PRIOR; const unsigned char T_BildU = VK_NEXT; const unsigned char T_Ende = VK_END; const unsigned char T_Pos1 = VK_HOME; const unsigned char T_Links = VK_LEFT; const unsigned char T_Oben = VK_UP; const unsigned char T_Rechts = VK_RIGHT; const unsigned char T_Unten = VK_DOWN; const unsigned char T_Druck = VK_PRINT; const unsigned char T_Einfg = VK_INSERT; const unsigned char T_Entf = VK_DELETE; const unsigned char T_F1 = VK_F1; const unsigned char T_F2 = VK_F2; const unsigned char T_F3 = VK_F3; const unsigned char T_F4 = VK_F4; const unsigned char T_F5 = VK_F5; const unsigned char T_F6 = VK_F6; const unsigned char T_F7 = VK_F7; const unsigned char T_F8 = VK_F8; const unsigned char T_F9 = VK_F9; const unsigned char T_F10 = VK_F10; const unsigned char T_F11 = VK_F11; const unsigned char T_F12 = VK_F12; const unsigned char T_Num = VK_NUMLOCK; const unsigned char T_Alt_Gr = VK_RMENU; #else const unsigned char T_Tab = 0x09; const unsigned char T_Enter = 0x0D; const unsigned char T_BackSpace = 0x0B; const unsigned char T_Shift = 0x10; const unsigned char T_Strg = 0x11; const unsigned char T_Alt = 0x12; const unsigned char T_Pause = 0x13; const unsigned char T_Caps_Lock = 0x14; const unsigned char T_Esc = 0x1B; const unsigned char T_Space = 0x20; const unsigned char T_BildO = 0x21; const unsigned char T_BildU = 0x22; const unsigned char T_Ende = 0x23; const unsigned char T_Pos1 = 0x24; const unsigned char T_Links = 0x25; const unsigned char T_Oben = 0x26; const unsigned char T_Rechts = 0x27; const unsigned char T_Unten = 0x28; const unsigned char T_Druck = 0x2A; const unsigned char T_Einfg = 0x2D; const unsigned char T_Entf = 0x2E; const unsigned char T_F1 = 0x70; const unsigned char T_F2 = 0x71; const unsigned char T_F3 = 0x72; const unsigned char T_F4 = 0x73; const unsigned char T_F5 = 0x74; const unsigned char T_F6 = 0x75; const unsigned char T_F7 = 0x76; const unsigned char T_F8 = 0x77; const unsigned char T_F9 = 0x78; const unsigned char T_F10 = 0x79; const unsigned char T_F11 = 0x7A; const unsigned char T_F12 = 0x7B; const unsigned char T_Num = 0x90; const unsigned char T_Alt_Gr = 0xA5; #endif //! Speichert den Input eines Nutzers auf der Tastatur struct TastaturEreignis { //! Art der Eingabe int id; //! Betroffene Taste char taste[3]; //! virtual key code int virtualKey; //! (true), wenn die Eingabe bereits verarbeitet wurde. (false) sonnst bool verarbeitet; }; typedef std::function TastaturAktion; //! Standart Tastatur Ereinis Rückruffunktion //! \param param Ein beliebiger Parameter //! \param obj Die Zeichnung, welches diese Funktion aufruft //! \param te Das Tastaturereignis, welches verarbeitet werden soll //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten //! soll. (false) sonnst. Gibt immer (true) zurück DLLEXPORT bool _ret1TE(void* param, void* obj, TastaturEreignis te); //! Standart Tastatur Ereinis Rückruffunktion //! \param param Ein beliebiger Parameter //! \param obj Die Zeichnung, welches diese Funktion aufruft //! \param te Das Tastaturereignis, welches verarbeitet werden soll //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten //! soll. (false) sonnst. Gibt nur (true) zurück, wenn die Taste zwischen //! '0' und '9' ist, oder zum Löschen oder Cursorbewegen dient DLLEXPORT bool _nurNummernTE(void* param, void* obj, TastaturEreignis te); //! Standart Tastatur Ereinis Rückruffunktion //! \param param Ein beliebiger Parameter //! \param obj Die Zeichnung, welches diese Funktion aufruft //! \param te Das Tastaturereignis, welches verarbeitet werden soll //! \return (true), wenn aufrufende Zeichnung das Ereignis weiterverarbeiten //! soll. (false) sonnst. Gibt nur (true) zurück, wenn die Taste zwischen //! '0' und '9' oder 'A' und 'F' ist, oder zum Löschen oder Cursorbewegen //! dient DLLEXPORT bool _nurHexTE(void* param, void* obj, TastaturEreignis te); } // namespace Framework #endif