Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Tastencodes in Datei speichern (https://www.delphipraxis.net/169460-tastencodes-datei-speichern.html)

Breager 21. Jul 2012 09:00

Tastencodes in Datei speichern
 
Hallo,

für ein kleines Spiel möchte ich dem Spieler gerne die Möglichkeit anbieten, die Tasten für die Steuerung selbst festzulegen. Bisher habe ich mit den Virtuellen Tastencodes gearbeitet. Nun frage ich mich, ob es sinnvoller ist, den Virtuellen Tastencode oder eher den Scancode zu speichern. Viele Spiele, die ich kenne, nutzen das amerikanische Tastaturlayout und z.B. auch die SDL-Bibliothek (wobei, ich das Gefühl habe, dass das intern geregelt ist). Wisst ihr, wie das generell üblich ist?
Vielen Dank schonmal.

Breager

himitsu 21. Jul 2012 10:47

AW: Tastencodes in Datei speichern
 
Sind die ScanCodes nicht tastaturabhängig?

Die VK_CODES sind aber immer eindeutig.


Also was sollte man da wohl besser verwenden?

Breager 21. Jul 2012 11:44

AW: Tastencodes in Datei speichern
 
Die Frage mag etwas doof sein, aber ich habe mich eben gefragt, wie das üblich ist. Bei den meisten Spielen, die ich kenne, erscheint beim Druck auf die Z-Taste ein Y, egal, welches Tastatur Layout ich nutze.

Viele Grüße

p80286 21. Jul 2012 21:22

AW: Tastencodes in Datei speichern
 
Doof ist die Frage nicht, aber es gibt durchaus Tastaturlayouts, die Tasten besitzen (ScanCodes), die bei anderen Tastaturen nicht vorkommen.
Meiner Meinung nach bist Du mit den VK-Codes auf der sicheren Seite, da sie Designunterschiede weitestgehend egalisieren. Was Du mit den Codes anfängst ist letztlich Deine Sache.

Gruß
K-H

himitsu 21. Jul 2012 22:08

AW: Tastencodes in Datei speichern
 
Zitat:

Zitat von Breager (Beitrag 1175481)
Die Frage mag etwas doof sein, aber ich habe mich eben gefragt, wie das üblich ist. Bei den meisten Spielen, die ich kenne, erscheint beim Druck auf die Z-Taste ein Y, egal, welches Tastatur Layout ich nutze.

Da war wer intelligent und wertet z.B. die Scancodes selber aus, ohne Berücksichtigung des aktiven Tastaturlayouts.

Breager 21. Jul 2012 23:04

AW: Tastencodes in Datei speichern
 
Danke für die Antworten. Hatte gerade die Idee, dass es vielleicht auch mit Direct Input im Zusammenhang stehen könnte. Wobei Direct Input für die Tastatureingabe nicht empfohlen wird. Ich erinnere mich auch, dass es in Dos-Spielen früher oft der Fall war, dass Y und Z vertauscht waren. Interessant ist nur, wie schon geschrieben, dass ich das schon bei sehr vielen Spielen gesehen habe. Wobei ich ehrlichgesagt nicht der große Zocker bin. Ich erinnere mich noch gut, dass ich es sehr nervig fand, nicht zu wissen, welche Tasten nun wirklich benutzt werden müssen. Die Virtuellen Tastencodes sagen mir auch eher zu.

Furtbichler 22. Jul 2012 07:09

AW: Tastencodes in Datei speichern
 
Na ja, das war schon immer so: Ein Ami denkt, es gibt nur dieses eine Layout und programmiert das eben so. Die Taste mit dem Scancode 12345 (k.A) ist das Y und dann wird das so programmiert. Der probiert das einfach aus, ist ja auch naheliegend.

Ähnliches gilt für CSV-Formate. Die denken, der Dezimaltrenner ist ein Punkt, das Listentrennzeichen ein Komma und dann wird das so hardkodiert.

Findet man übrigens bei allen Programmierern immer wieder, egal welcher Nationalität.

Sir Rufo 22. Jul 2012 08:04

AW: Tastencodes in Datei speichern
 
@Furtbichler :thumb:

aber das stimmt nicht
Zitat:

Zitat von Furtbichler (Beitrag 1175534)
Ein Ami denkt, es gibt nur dieses eine Layout und programmiert das eben so.

Das wird gar nicht in Betracht gezogen, dass es etwas anderes geben könnte :stupid:
siehe Inch und Fuß statt Meter

p80286 22. Jul 2012 11:07

AW: Tastencodes in Datei speichern
 
Unter Dos war es so, daß die Scancodes direkt vom Tastaturcontroler abgegriffen wurden, dadurch konnte man die numerische Tastatur und Pfeiltasten auseinander halten, bzw. NumLock ignorieren.
Ein weiterer Vorteil war es, ein paar Hundertstel zu sparen.

Gruß
K-H

himitsu 22. Jul 2012 11:37

AW: Tastencodes in Datei speichern
 
Zitat:

Zitat von p80286 (Beitrag 1175556)
dadurch konnte man die numerische Tastatur und Pfeiltasten auseinander halten, bzw. NumLock ignorieren.

Welches auch mit den VK_CODES geht. (NumBlock, LeftStrg, RightStrg, ...)

Zitat:

Zitat von Furtbichler (Beitrag 1175534)
Ähnliches gilt für CSV-Formate. Die denken, der Dezimaltrenner ist ein Punkt, das Listentrennzeichen ein Komma und dann wird das so hardkodiert.

Wobei ich das garnicht mal so schlecht finde ... ein einheitliches Formt.
Schlimmer sind die, welche die lokalisierten Zeichen/Formate verwenden.

z.B. "1,2" in eine INI/CSV/TCPIP/... speichern und dann knallt es, wenn man das auf einem System auslesen will, wo plötzlich der "." eingestellt ist (oder andersrum).


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz