AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Tastencodes in Datei speichern

Ein Thema von Breager · begonnen am 21. Jul 2012 · letzter Beitrag vom 25. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2      
Breager

Registriert seit: 18. Feb 2012
40 Beiträge
 
#1

Tastencodes in Datei speichern

  Alt 21. Jul 2012, 09:00
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
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#2

AW: Tastencodes in Datei speichern

  Alt 21. Jul 2012, 10:47
Sind die ScanCodes nicht tastaturabhängig?

Die VK_CODES sind aber immer eindeutig.


Also was sollte man da wohl besser verwenden?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Breager

Registriert seit: 18. Feb 2012
40 Beiträge
 
#3

AW: Tastencodes in Datei speichern

  Alt 21. Jul 2012, 11:44
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
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Tastencodes in Datei speichern

  Alt 21. Jul 2012, 21:22
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#5

AW: Tastencodes in Datei speichern

  Alt 21. Jul 2012, 22:08
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Breager

Registriert seit: 18. Feb 2012
40 Beiträge
 
#6

AW: Tastencodes in Datei speichern

  Alt 21. Jul 2012, 23:04
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.
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: Tastencodes in Datei speichern

  Alt 22. Jul 2012, 07:09
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.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#8

AW: Tastencodes in Datei speichern

  Alt 24. Jul 2012, 08:39
Wieso überlässt Du es nicht einfach dem Anwender, seine WASD-Tasten selbst auszusuchen?
Vielleicht wäre es ganz hilfreich für die vielen Fragesteller, denen Du immer wieder Deine Meinung aufnötigst, ohne auf die eigentliche Frage zu antworten, den Inhalt des Problems etwas genauer zu lesen:
...für ein kleines Spiel möchte ich dem Spieler gerne die Möglichkeit anbieten, die Tasten für die Steuerung selbst festzulegen.
An Daniel und die Moderatoren:
Weshalb unterbindet Ihr nicht diese ständigen, besserwisserischen und belehrenden Beiträge einiger Forenmitglieder? Platzt hingegen einem Fragesteller bei dieser permanenten Bevormundung der Geduldsfaden, wird er angezählt oder sogar der Thread geschlossen. Ich glaube nicht, daß das für das Klima in diesem Forum förderlich ist. Threads zu diesem Thema gibt es schon genug - ändern tut sich aber leider nichts...
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Breager

Registriert seit: 18. Feb 2012
40 Beiträge
 
#9

AW: Tastencodes in Datei speichern

  Alt 24. Jul 2012, 16:44
@p80286: Danke für die Links, das hilft mir schon weiter.

@Furtbichler: Das war doch nur ein Beispiel, in dem ich demonstrieren wollte, dass es durchaus sinnvoll sein kann, die Scancodes zu verwenden. Allerdings würde ich in diesem Beispiel die Function MapVirtualKey verwenden, um den Scancode in einen Virtuellen Tastencode umzuwandeln. In meinem Spiel biete ich für alle Tasten die Möglichkeit der Konfiguration an.

Für mich wird das im Endeffekt nicht relevant sein, da sich mein Spiel bestimmt nicht international verbreitet Mich interessiert aber dennoch, wie das allgmein üblich ist und aus welchen Gründen.
Interessant finde ich, dass in den Spielen, die ich getestet habe z.B. zwischen der linken und rechten CTRL Taste differenziert wird, der Scancode dieser Tasten ist jedoch identisch.
Zitat von himitsu:
Wobei ich das garnicht mal so schlecht finde ... ein einheitliches Format.
Schlimmer sind die, welche die lokalisierten Zeichen/Formate verwenden.
Vielleicht auch ein Grund für viele Entwickler, die Scancodes zu verwenden, auch wenns etwas nervig ist. Wie schon geschreiben, sind die OEM-Tastencodes leider länderspezifisch. Ich tendiere aber dennoch zu himitsu's Vorschlag, die Virtuellen Tastencodes zu speichern, auch wenn sich die Anordnung der Tasten dadurch ändern kann.

@Thom: So schnell platzt mir nicht der Geduldsfaden, manchmal habe ich aber auch Selbstzweifel, ob ich mich richtig ausgedrückt habe Bitte nicht aufregen, das ist es nicht wert. Man kann über alles reden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#10

AW: Tastencodes in Datei speichern

  Alt 24. Jul 2012, 17:00
Och, ich würde einfach TShortCut zum Speichern verwenden.
PS: Die kennt man von Menüs und (z.B. bei TMenuItem kann kan das angeben und im OI gibt's nen Property-Editor dafür)

Dafür gibt es auch schon fertige Komponenten für die Eingabe benutzen (Delphi-Referenz durchsuchenTHotKey), welche man in seinen Optionsdialog klatschen darf.
Bzw. es gibt einzelne Funktionen, welche das auch in einen lesbaren String umwandeln und zurück.

auch wenn sich die Anordnung der Tasten dadurch ändern kann.
Das hat aber einen Vorteil ... wenn du sagst "press [Y]es or [N]o", dann dann kann man auch beruhigt auf [Y] drücken und muß nicht auf [Z] ausweichen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Jul 2012 um 17:03 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz