SDL KeyboardEvent: Unterschied zwischen den Versionen
I0n0s (Diskussion | Beiträge) () |
DGLBot (Diskussion | Beiträge) K (Bot: konvertiere/korrigiere <BR>) |
||
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
= SDL_KeyboardEvent = | = SDL_KeyboardEvent = | ||
| − | + | ||
| + | |||
== Name == | == Name == | ||
'''SDL_KeyboardEvent''' - Tastendruckereignis | '''SDL_KeyboardEvent''' - Tastendruckereignis | ||
| − | + | ||
| + | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
| − | type ''' | + | type '''TSDL_KeyboardEvent''' = record |
| − | '' | + | ''type_'' : Uint8; |
| + | ''which'' : Uint8; | ||
''state'' : Uint8; | ''state'' : Uint8; | ||
''keysym'' : SDL_keysym; | ''keysym'' : SDL_keysym; | ||
end | end | ||
| − | + | ||
| + | |||
== Parameter == | == Parameter == | ||
{| border="1" rules="all" | {| border="1" rules="all" | ||
| − | ! '' | + | ! ''type_'' |
| − | | SDL_KEYDOWN oder SDL_KEYUP | + | | '''SDL_KEYDOWN''' oder '''SDL_KEYUP''' |
| + | |- | ||
| + | ! ''which'' | ||
| + | | Der Tastaturgerätindex. | ||
|- | |- | ||
! ''state'' | ! ''state'' | ||
| − | | SDL_PRESSED oder SDL_RELEASED | + | | '''SDL_PRESSED''' oder '''SDL_RELEASED''' |
|- | |- | ||
! ''keysym'' | ! ''keysym'' | ||
| Zeile 28: | Zeile 35: | ||
|} | |} | ||
| − | + | ||
| + | |||
== Beschreibung == | == 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 == | == Hinweise == | ||
| − | '' | + | ''type_'' und ''state'' enthalten die selbe Information, sie benutzen nur andere Werte dafür.<br> |
<br> | <br> | ||
| − | 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.<br> | + | '''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.<br> |
Beispiel:<br> | Beispiel:<br> | ||
| − | Beim ersten Drücken von Capslock wird ein SDL_PRESSED übermittelt, beim loslassen, ein SDL_RELEASED. | + | 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.<br> | + | Beim nächsten Drücken aber ein '''SDL_RELEASED''', weil die Funktion ausgeschaltet wurde.<br> |
<br> | <br> | ||
Um mehrere KEYDOWN-Ereignisse bei gedrücktgehaltener Taste zu bekommen, muss man vorher mit [[SDL_EnableKeyRepeat]] ein Intervall festsetzen. | Um mehrere KEYDOWN-Ereignisse bei gedrücktgehaltener Taste zu bekommen, muss man vorher mit [[SDL_EnableKeyRepeat]] ein Intervall festsetzen. | ||
Aktuelle Version vom 22. April 2006, 19:14 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