O informatyce, po swojemu, inaczej

[C++] Sprawdź co przypisali do tego klawisza

Zastanawiałeś się kiedyś jak to jest z klawiaturą ?
Na jakiej zasadzie to wszystko działa ? Dziś postanowiłem za pomocą C++ pokazać Ci jak maszyna interpretuje klawisze z klawiatury.

Gotowy plik .exe będziesz mógł pobrać w dalszej części tego postu.

Nie wiem, czy specjalnie trzeba pokazywać jak działa klawiatura, a już na pewno jak wygląda. Jedyne co mogę Ci powiedzieć dodatkowo to to, że oprócz naszej „QWERTY” istnieje jeszcze inny system umieszczenia klawiszy na klawiaturze (no i stało się – miał być mały wpis o znakach, a będzie coś potężniejszego).

„Klawiatura jaka jest – każdy widzi”. Jednak zasada działania nie jest koniecznie wszystkim znana.

Na klawiaturze komputerowej każde naciśnięcie lub puszczenie klawisza powoduje wysłanie sygnału do komputera. Każdy klawisz ma przypisaną własną parę sygnałów, zwanych „scancode”.

~`wikipedia.pl

Tak jak poprzednio wspomniałem istnieją różne układy klawiatur. Między innymi nasza „qwerty”. Oto lista istniejących układów, które jeszcze względnie są praktykowane przez niektórych użytkowników.
  • QWERTY
  • QWERTZ
  • układ maszynistki
  • AZERTY
  • klawiatura Dvoraka

3 układy poniżej qwerty odpowiadają odpowiednio układom stosowanych w zależności od jeżyka ( odpowiednio od góry niemiecki, polski, francuski). Klawiatura Dvoraka została zaprojektowana w celu poprawienia wydajności w pisaniu na klawiaturze jako alternatywa dla qwerty. Na tym właśnie układzie osiągnięto wynik wprowadzania 212 słów na minutę.

Doskonale też wiemy, że aktualna klawiatura to nie tylko podstawowe klawisze. Aktualnie na rynku znajdziemy tak dopasowane do potrzeb użytkowników klawiatury, że niektórzy nie będą wstanie się zorientować z funkcji klawiszy nie będąc zainteresowani pewnym środowiskiem ( np. grami ). 
Więc wracając do naszej maszyny. Jak ona interpretuje poszczególne znaki wprowadzane z klawiatury ?
No po za tym co się przed chwilą dowiedzieliśmy możemy dodatkowo sprawdzić działa w praktyce przechwycenie takiego sygnału. Nie zwlekając napiszemy krótki program, który pokaże nam, czy klawisz, który wciśniemy jest cyfrą, małą literą, a może dużą literą.
Do pracy potrzebne nam będą 3 biblioteki
  • iostream
  • cstdlib
  • conio.h .

Wszystkie biblioteki na pewno znajdują się w Dev C++

Do przechwycenia znaku użyjemy funkcji getch( ). Natomiast co to za znak sprawdzimy za pomocą funkcji if( ). 

Info


Cyfry przyjmują wartość między 47, a 58.
Małe znaki przyjmują wartość między 96, a 123.
Duże znaki przyjmują wartość między 64, a 91.


Gotowy kod źródłowy możesz podejrzeć tutaj. 
Gotowy plik .exe możesz pobrać tutaj.

A tak się klawiaturą nie bawimy 😉