ASCII zu Scancode

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

exastion

Betreff: ASCII zu Scancode

BeitragFr, Okt 01, 2010 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

Ich habe in meinem Programm, die ASCII-Codes zur auswahl der verschiedenen Tasten benutzt, nun brauche ich aber die Scancodes, um die Tasten auch benutzen zu können, kann mir jemand sagen, wie ich die ASCII-Codes in Scancodes umwandeln kann.

MfG exastion

Xeres

Moderator

BeitragFr, Okt 01, 2010 21:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Da müsstest du dir selbst eine Funktion schreiben, die das erledigt.
Arrow Scancodes, ASCII

Die Frage wäre nur, warum du nicht gleich Scancodes verwendest?!
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

exastion

BeitragFr, Okt 01, 2010 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man Getkey den auf die gleiche weise benutzen wie keydown?

Xeres

Moderator

BeitragFr, Okt 01, 2010 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Guter Hinweis, die (GetKey, WaitKey) geben nur ASCII zurück - man könnte aber auch dieses machen:
BlitzBasic: [AUSKLAPPEN]
Graphics(512,512,32,2)

Local i%, Scancode%
Repeat
For i=2 To 255
If KeyHit(i) Then Scancode=i : Exit
Next
If Scancode<>0 Then Print("Code "+Scancode+" gedrückt") : Scancode=0
Until KeyHit(1)

Damit erreicht man auch alle Tasten, nicht nur Buchstaben + Zahlen.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

BIG BUG

BeitragFr, Okt 01, 2010 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Xeres Lösung ist definiv GetKey vorzuziehen, da das Mapping von ASCII-Code zu Scan-Code abhängig vom verwendeten Tastaturlayout(Ländereinstellung) ist.
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

exastion

BeitragSa, Okt 02, 2010 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Das problem ist nur, dass ich Code: [AUSKLAPPEN]
Getkey()
nicht benutze, sondern das Mausrad, um durch die Buchstaben zu scrollen :

BlitzBasic: [AUSKLAPPEN]
MZS=MouseZSpeed()


BlitzBasic: [AUSKLAPPEN]
If MZS=1 Then Taste(Funktion)=Taste(Funktion)+1
If MZS=-1 Then Taste(Funktion)=Taste(Funktion)-1


Und wenn ich dort Scancodes verwenden würde, dann würden die Buchstaben nicht der Reihe nach kommen.

Xeres

Moderator

BeitragSa, Okt 02, 2010 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Diese Methode hielte ich für nachteilig, weil man die Taste anders auswählt, als man sie benutzt. Wenn man das Keyboard vor sich hat, kann ich sagen: ich will, diese und jene Taste zum spielen verwenden, weil ich es so am bequemsten habe. Mit dem Mausrad Alphabetisch durch scrollen, wenn die Tastatur nicht Alphabetisch geordnet ist? Das ist keine intuitive Bedienung.
Wenn du es so halten willst, machst du am besten eine Funktion mit einer laaangen Select ... Case Konstruktion um ASCII in Scancode zu übersetzen. Eine schlauere Lösung fällt mir jedenfalls dazu nicht ein.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

exastion

BeitragSa, Okt 02, 2010 12:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke.

Ich mache es dann nicht mit dem Scrollrad, sondern benutze die Tastatur, dann kann ich ja Keydown benutzen.

MfG exastion

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group