Programmieren - alles kontrollieren 4.941 Themen, 20.715 Beiträge

c++: char[0x07], was passiert da genau?

Yves3 / 2 Antworten / Baumansicht Nickles

Hallo

Bei DirectInput wird die Tastatur als char Array mit 256 Werten dargestellt. Um auf die einzelnen Werte einfach zu zu greifen, wurden in der Datei dinput.h unter anderem folgende defines gemacht.


...
#define DIK_6 0x07
#define DIK_7 0x08
#define DIK_8 0x09
#define DIK_9 0x0A
#define DIK_0 0x0B
#define DIK_MINUS 0x0C /* - on main keyboard */
#define DIK_EQUALS 0x0D
#define DIK_BACK 0x0E /* backspace */
...

Wenn jetzt also buffer[DIK_BACK] == true, dann ist Backspace gedrückt.

Ich könnte jetzt aber auch mit buffer[0x0E] auf die Backspacetaste zugreifen.

Jetzt zu meinen Fragen:

1. Warum dieses 0x0E und warum nicht einfach buffer[14] oder so ähnlich?
2. Wenn ich die ganze DInput-Funktionalität in einer Klasse kapsle und mit einer Funktion von aussen die Tasten überprüfen möchte, in welcher Form übergebe ich dann am besten den Parameter, der die Taste identifiziert?

Schon mal Danke für jede Hilfe!

EDIT: Und warum ein char Array und nicht ein bool Array?

[Diese Nachricht wurde nachträglich bearbeitet.]

bei Antwort benachrichtigen
Yves3 Nachtrag zu: „c++: char[0x07], was passiert da genau?“
Optionen

No Idea?

EDIT: Werde mal noch in einem anderen Forum fragen. Scheint hier gerade niemand zu wissen.

[Diese Nachricht wurde nachträglich bearbeitet.]

bei Antwort benachrichtigen
Yves3 Nachtrag zu: „No Idea? EDIT: Werde mal noch in einem anderen Forum fragen. Scheint hier gerade...“
Optionen
bei Antwort benachrichtigen