Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi AsciiCode für Tasten herausfinden (https://www.delphipraxis.net/15119-asciicode-fuer-tasten-herausfinden.html)

SirThornberry 22. Jan 2004 09:59


AsciiCode für Tasten herausfinden
 
Wie kann man heraus finden welcher AsciiCode sich hinter einer bestimmten Taste auf der Tastatur verbirgt??
Beispiel: Bei der Französichen Tastatur sind zum beispiel A und Q vertauscht.
Gibt es jetzt irgendwie eine funktion der ich "A" übergebe, dann noch die Sprache und dann "Q" zurück bekomme. Also nach dem schema
getscancodefor(vkkeyscan('a'), 'Französich');
und die funktion sollte mir dann den keyscancode für q zurückgeben weil sich q ja an der stelle auf der Tastaturbefindet wo sonst a ist.

Hintergrund des ganzen: Wir enwickeln eine Software für Touchscreen und stellen eine Tastatur auf dem Bildschirm dar über welche der User seine eingaben machen kann. Wenn die Sprache der software auf französich umgestellt wird soll die Beschriftung der Bildschirmtastaur sich auf das französiche Layout ändern und wenn dann die taste wo bei uns "a" liegt gedrückt wird (bei den franzosen liegt dort "q") soll eben das q ausgegeben werden. Es wäre jetzt allerdings reichlich viel arbeit sich für jede sprache eine extra tastatur zu bestellen (die deutsch hat zum beispiel in der reihe wo "a,s,d,f,g,h.." sich befindet eine Taste mehr. Und dann jede Taste zu drücken und sich den scancode dazu notieren.

Sanchez 22. Jan 2004 10:11

Re: AsciiCode für Tasten herausfinden
 
Alternativ liese sich doch die Windows-Bildschirmtastatur verwenden.

SirThornberry 22. Jan 2004 11:06

Re: AsciiCode für Tasten herausfinden
 
Die windowsbildschirmtastatur ist zu klein für Touchscreens und passt nicht vom skin

Robert Marquardt 22. Jan 2004 11:18

Re: AsciiCode für Tasten herausfinden
 
Da gibt es keinen Weg. Die Tastatur liefert Scancodes. Windows setzt diese gemaess der eingestellten Sprache fuer die Tastatur in VK_-Werte um. Wo die Taste physisch auf der Tastatur sitzt, ist allerdings eine private Sache der Tastatur.
Die Umsetzung der Scanccodes ist allerdings ueber die Funktion MapVirtualKey zugaenglich. GetKeyNameText ist auch nicht unwichtig.

Hansa 22. Jan 2004 13:21

Re: AsciiCode für Tasten herausfinden
 
Das hier muß reichen:

http://www.delphipraxis.com/topic155...tml&highlight=

Insbesondere das Keyboard-Layout von Leuselator. Zumindest die deutsche Tastatur kriegst Du damit in den Griff. Für die ausländischen würde ich trotzdem mal die Hersteller konsultieren. Stop ! Touchscreen ? Da kannst Du doch bestimmt selber die Tasten definieren, oder ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.

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