Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek
Uaktualniono: 31.07.2022

©2023 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

SDL_GetKeyboardState

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2.

SDL_GetKeyboardState

Użyj tej funkcji, aby otrzymać kopię bieżącego stanu klawiatury.

Składnia

const Uint8* SDL_GetKeyboardState(int* numkeys)

Parametry funkcji

numkeys jeśli ma wartość różną od NULL, otrzymuje długość zwracanego ciągu.

Wartość zwracana

Zwraca wskaźnik ciągu stanu klawiszy. Wartość 1 oznacza, iż dany klawisz jest naciśnięty, a 0, że nie jest. Indeksy w tym ciagu odpowiadają wartościom kodów matrycowych SDL_Scancode. Zwracany wskaźnik wskazuje na wewnętrzną tablicę należącą do SDL. Jest ona ważna przez cały czas życia aplikacji i nie powinna być zwalniana przez użytkownika.

Przykładowy kod

const Uint8 *state = SDL_GetKeyboardState(NULL);
if (state[SDL_SCANCODE_RETURN])
{
    printf("<RETURN> is pressed.\n");
}
if (state[SDL_SCANCODE_RIGHT] && state[SDL_SCANCODE_UP])
{
    printf("Right and Up Keys Pressed.\n");
}

Uwagi

Uwaga: Aby uaktualnić tablicę stanu klawiszy, użyj SDL_PumpEvents().

Uwaga: Ta funkcja daje ci bieżący stan po przetworzeniu wszystkich zdarzeń, zatem jeśli jakiś klawisz lub przycisk zostanie naciśnięty, zanim przetworzysz zdarzenia, to stan naciśnięcia nie ukaże się w wywołaniach SDL_GetKeyboardState().

Uwaga: Funkcja nie bierze pod uwagę naciskania klawiszy Shift.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2023 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.