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

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

Interfejs SDL2:

Wsparcie Klawiatury

SPIS TREŚCI

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

Wsparcie Klawiatury

Wprowadzenie

Ta kategoria zawiera funkcje obsługi wprowadzania danych z klawiatury.

SDL używa dwóch różnych rodzajów wartości do reprezentacji klawisza na klawiaturze - kod matrycowy (ang. scancode) i kod klawisza (ang. keycode).

Wartości SDL_Scancode są używane do reprezentacji fizycznego położenia klawisza na klawiaturze. Wartości tego typu używa się między innymi do przedstawiania klawiszy klawiatury w polu  key.keysym.scancode struktury SDL_Event. Wartości w enumeracji SDL_Scancode opierają się na definicjach podanych w standardzie USB usage page (http://www.usb.org/developers/docs/). Stałe kodów matrycowych używają nazwy symbolu poprzedzonej przez przedrostek SDL_SCANCODE_ (np.: SDL_SCANCODE_SPACE).

Wartości SDL_Keycode są odwzorowane na bieżący układ klawiatury i wiążą się z wartościami SDL_Scancode. Wartości tego typu są używane miedzy innymi do reprezentacji symboli klawiszy w polu key.keysym.sym field struktury SDL_Event. Wartości w enumeracji SDL_Keycode opierają się na wartościach Unicode reprezentujących niezmodyfikowany znak, który zostałby wygenerowany po naciśnięciu klawisza, lub kod matrycowy z ustawionym najstarszym bitem (połączonym alternatywą bitową z 0x40000000) dla tych klawiszy, które nie generują znaków. Stałe kodów znaków używają nazwy symbolu (pisanej małymi znakami dla liter) poprzedzonej prefiksem SDLK_ (np.: SDLK_SPACE).

Specjalnym wyjątkiem są klawisze liczbowe u góry klawiatury, które zawsze są odwzorowane jako SDLK_0, SDLK_1, ..., SDLK_9, bez względu na układ klawiatury.

Podstawowa różnica pomiędzy tymi dwoma wartościami ujawnia się w sytuacjach, gdzie system operacyjny odwzorowuje fizyczne klawisze w różne wirtualne litery. Na przykład, gdy standardowa klawiatura QWERTY jest odwzorowana w układ klawiatury niemieckiej QWERTZ , klawisz "Y" wygeneruje zdarzenie z kodem matrycowym SDL_SCANCODE_Y, lecz z kodem klawisza SDLK_z. Które z tych kodów używać, pozostawione jest do decyzji aplikacji: kody matrycowe są wygodne w sytuacjach, gdzie sterowanie zależy od układu klawiszy (np. klawisze "WASD" jako klawisze strzałek dla lewej ręki), natomiast kody klawiszy nadają się lepiej w sytuacjach, gdzie sterowanie zależy od wprowadzanych znaków  (np. klawisz "I" jako Inventory).

Enumeracje

Struktury

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
©2024 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.