Englisches Tastaturlayout (Y --> Z etc.)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

PacMani

Betreff: Englisches Tastaturlayout (Y --> Z etc.)

BeitragSa, Jun 05, 2010 11:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

habe in der Suche nichts relevantes gefunden, deshalb mache ich mal einen Thread auf...

In meinem Programm werden die Tasten QW, AS und YX genutzt. Sobald der Nutzer nun aber ein anderes Tastaturlayout hat, liegen diese Tasten nicht mehr nah beieinander. Im englischen Tastaturlayout liegt neben X nicht Y, sondern Z, was die Bedienung irrsinnig kompliziert machen würde, im französchischen Tastaturlayout ist QW dann auch noch AZ, soweit ich mich erinnere, und die ganze Bedienung würde total durcheinander geraten.

Die Scancodes sagen mir ja schon jetzt, dass meine oben genannte Bedienung nur auf deutschen Layouts Sinn macht:
Code: [AUSKLAPPEN]
KQ = 16, KW = 17, KA = 30, KS = 31, KY = 21, KX = 45

Da ist bei KY zu KX kein Abstand mehr von 1.

Wie kann ich das umgehen? Tastendrücke anders herausfinden (gibt es da einen Blitz-internen Befehl oder muss ich über die WinAPI gehen?) oder die Lokalisierung des System vorraus herausfinden und dann Aktionen dagegen ausführen?

Pummelie

BeitragSa, Jun 05, 2010 11:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Du wirst wohl die Systemsprache abfagen und demnach deine Tastatursteuerung setzen müssen...
It's done when it's done.
 

PacMani

BeitragSa, Jun 05, 2010 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Und wie mach ich das? *nebenbei noch am Suchen*

Gefunden:
HKEY_CURRENT_USER\Control Panel\International
HKEY_USERS\.DEFAULT\Control Panel\International
sCountry

Jetzt hab ich nur überhaupt keine Ahnung wie man an die Registry mit Blitz kommt Smile

Pummelie

BeitragSa, Jun 05, 2010 11:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Suche auch danach, du wirst finden, (uche nur nach registry)
It's done when it's done.
 

PacMani

BeitragSa, Jun 05, 2010 11:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Haha, ja, verschachteltes Suchen Very Happy Wenn ich's dann zusammengebastelt habe, poste ich es hier nochmal für die Nachwelt Smile

Thunder

BeitragSa, Jun 05, 2010 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Eigentlich könnte dir da GetKey helfen, da es immer den ASCII Code zurückgibt und nichts mit dem Layout der Tastatur zu tun hat (zumindest nicht nach außen hin).
Es gibt nur das Problem, dass bei GetKey nicht mehrere Tasten gleichzeitig abgefragt werden können.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Xeres

Moderator

BeitragSa, Jun 05, 2010 13:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du es automatisch hin bekommst - um so besser. Grundsätzlich wär's aber auch nicht falsch, den Benutzer selber zu fragen z.B. beim ersten Start.
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)

Hubsi

BeitragSa, Jun 05, 2010 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Mach die Tastenbelegung konfigurierbar? Das ist mir als Spieler eigentlich immer das liebste.
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

BtbN

BeitragSa, Jun 05, 2010 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Wird die teste Z-Taste denn dringend gebraucht? Ansonsten leg doch einfach die funktion sowohl auf die Y als auch auf die Z taste, sodass das ganze unabhängig vom Layout funktioniert.

Eine eigene config wäre aber in der tat besser, da z.B. leute mit NEO-Layout bei deiner hardcoded variante zimlich aufgeschmissen wären.

DerHase

BeitragSa, Jun 05, 2010 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde es ganz ander lösen und zwar mit den Tasten WE SD XC. Es macht keinen Unterschied vermeidet aber Ärger Wink
Play Satyr!
 

Blitzjockey

BeitragSa, Jun 05, 2010 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
@ DerHase,

Da er auch Französische Tatsturen bedienen möchte, geht das leider nicht auf.

Aber, mal eine doofe Frage (Nein, habe nicht gerade ein UK, US oder Franz. Tastatur zum Testen rumliegen), stimmt es überhaupt das der Scancodes sich ändern, nur weil der darangehängte Buchstabe sich ändert?

Was ich meine ist, das auf mein Deutsche Tastatur Q 16 und W 17 ist. Wie Du beschrieben hast. Einfach von 16, hoch bis 28 für Eingabe.

Dass heisst (denke ich) das die Scancodes, wenn man die Position der Tasten anschaut, gleich bleibt, nur welche Buchstabe gerade betätigt wird, sich ändert. Z.B. Deutsch: 16 = Q und womöglich Französisch: 16 = A. Beide Linksoben, neben 17, nur andere Buchstaben.

Dann brauchst Du also nur den Scancodes abchecken, die Positionen (2x3 Tasten übereinander) bleiben gleich, damit Dein Program auch. Da brauchst Du nur pro Tastatur an zu geben welche Tasten der Spieler drucken muss, oder Du zeigst ein Tatstatur ohne Buchstaben eingezeichnet, nur Farblich gegenzeichnet. (oder eine andere kreative Lösung..)
Da die Buchstaben eh kein Relevanz zur Funktion haben, ist das ja nicht ganz so schlimm.

Aber, wie gesagt, ich habe hier leider kein Ausländische Tastatur mehr rumliegen, zum testen..

Lg, BlitzJ.

Thunder

BeitragSa, Jun 05, 2010 18:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitzjockey hat recht und ich habe genau das umgekehrte vom Richtigen erzählt.
Man braucht nicht unbedingt eine andere Tastatur um das zu testen. Es reicht auch das Ändern des Layouts in der Eingabeschemaleiste - und es funktioniert.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Badudel

BeitragSa, Jun 05, 2010 19:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit Alt-Shift kann man zum Beispiel von Deutsch auf Englisch schalten. Ein Test hat mir gezeigt, dass sich die Scancodes nicht ändern, also gehe ich mal davon aus, dass es im französischen Modus genauso geht.

Gruß!
Wir werden dem Schwein schon schlachten, auch wenn ihm quiekt.
Zum Teufel mit das Grammatik!
 

PacMani

BeitragSa, Jun 05, 2010 21:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich hab mich wohl mies ausgedrückt. Die Scancodes sind natürlich die gleiche, nur die Position der "echten" Taste liegt dann woanders.
 

Blitzjockey

BeitragSa, Jun 05, 2010 22:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Den Buchstaben, ja, die schon. Aber da Deine Buchstaben keine direkte Relation zum Bewegung haben, bist Du ja nicht gezwungen Deine 'Kunden' eine Buchstabe zu melden, es reicht zu zeichen welche Taste sie drücken sollen.

Aber das kriegst Du schon hin!Du weisst jetzt das Du über Registry den Tastatur herausfinden kannst, und kannst damit der Hilfe anpassen. Da es Weltweit aber einige Layouts gibt, ist es einfacher das ganze Buchstaben-frei zu lösen!

lg,
BlitzJ.
 

PacMani

BeitragSa, Jun 05, 2010 23:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich lass mir was einfallen Very Happy aber erstmal muss der Rest des Editors einer kleinen Reinigung unterzogen werden.
 

PacMani

BeitragMo, Jun 07, 2010 15:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Ähh huch? Also ich hab wohl irgendwas falsch gemacht letztens, der ganze Thread hier verwirrt ja nur :S
Also wenn ich den Tastencode von Z einfüge, kommt schon das passendes raus... arg, sorry. Hätte das Ganze mal genauer testen müssen.

Thunder

BeitragMo, Jun 07, 2010 16:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Scancode ist unabhängig vom Buchstaben und GetKey()/WaitKey() sind vom Keyboardlayout abhängig. D.h. wenn du KeyDown() und KeyHit() verwendest, sollte alles mit denselben Tastenpositionen auf jedem Layout funktionieren.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group