SDL KeyboardEvent: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) K (Parameter der SDL.pas angepasst) |
I0n0s (Diskussion | Beiträge) K (→Delphi-Spezifikation: Parameter der SDL.pas angepasst) |
||
Zeile 7: | Zeile 7: | ||
<br> | <br> | ||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
− | type ''' | + | type '''TSDL_KeyboardEvent''' = record |
''type_'' : Uint8; | ''type_'' : Uint8; | ||
''which'' : Uint8; | ''which'' : Uint8; |
Version vom 14. September 2005, 19:44 Uhr
Inhaltsverzeichnis
SDL_KeyboardEvent
Name
SDL_KeyboardEvent - Tastendruckereignis
Delphi-Spezifikation
type TSDL_KeyboardEvent = record type_ : Uint8; which : Uint8; state : Uint8; keysym : SDL_keysym; end
Parameter
type_ | SDL_KEYDOWN oder SDL_KEYUP |
---|---|
which | Der Tastaturgerätindex. |
state | SDL_PRESSED oder SDL_RELEASED |
keysym | Enthält Informationen über die gedrückte Taste |
Beschreibung
Meldet, wenn ein Taste gedrückt oder losgelassen wurde. Die Information, ob gedrückt oder losgelassen wurde, findet man in type_ und state, die Information über die Taste in keysym.
Hinweise
type_ und state enthalten die selbe Information, sie benutzen nur andere Werte dafür.
SDL_CAPSLOCK und SDL_NUMLOCK Tasten haben eine Sonderstellung. Hier informiert state nicht ob die Taste gedrückt wurde, sondern ob deren Funktion an oder aus ist.
Beispiel:
Beim ersten Drücken von Capslock wird ein SDL_PRESSED übermittelt, beim loslassen, ein SDL_RELEASED.
Beim nächsten Drücken aber ein SDL_RELEASED, weil die Funktion ausgeschaltet wurde.
Um mehrere KEYDOWN-Ereignisse bei gedrücktgehaltener Taste zu bekommen, muss man vorher mit SDL_EnableKeyRepeat ein Intervall festsetzen.
Siehe auch
SDL_Event, SDL_keysym, SDL_EnableKeyRepeat, SDL_EnableUNICODE