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