SDL KeyboardEvent: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K
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, 20:44 Uhr

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