SDL KeyboardEvent: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) K |
I0n0s (Diskussion | Beiträge) K (Parameter der SDL.pas angepasst) |
||
Zeile 9: | Zeile 9: | ||
type '''SDL_KeyboardEvent''' = record | type '''SDL_KeyboardEvent''' = record | ||
''type_'' : Uint8; | ''type_'' : Uint8; | ||
+ | ''which'' : Uint8; | ||
''state'' : Uint8; | ''state'' : Uint8; | ||
''keysym'' : SDL_keysym; | ''keysym'' : SDL_keysym; | ||
Zeile 20: | Zeile 21: | ||
! ''type_'' | ! ''type_'' | ||
| '''SDL_KEYDOWN''' oder '''SDL_KEYUP''' | | '''SDL_KEYDOWN''' oder '''SDL_KEYUP''' | ||
+ | |- | ||
+ | ! ''which'' | ||
+ | | Der Tastaturgerätindex. | ||
|- | |- | ||
! ''state'' | ! ''state'' |
Version vom 14. September 2005, 19:44 Uhr
Inhaltsverzeichnis
SDL_KeyboardEvent
Name
SDL_KeyboardEvent - Tastendruckereignis
Delphi-Spezifikation
type SDL_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