AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

Ein Thema von mateska · begonnen am 9. Mär 2021 · letzter Beitrag vom 10. Mär 2021
Antwort Antwort
mateska

Registriert seit: 12. Jun 2018
2 Beiträge
 
#1

Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 9. Mär 2021, 13:22
Hallo,

wir haben eine VCL-Applikation, die entweder über Bildschirm + Tastatur + Maus bedient wird oder über einen Touch-Bildschirm.
Für die Touch-Bedienung wird die virtuelle Tastatur TTouchKeyboard bei Bedarf eingeblendet.
Diese Tastaur verhält sich, wie eine physikalisch Tastatur, wenn die Tasten mit der Maus angeklickt werden. Wenn die Tasten mit dem Finger berührt werden, verhalten sich alle Tasten mit Ausnahme der TAB-Taste genauso. Bei der TAB-Taste ist das anders. Hier passiert bei einer einfachen Berührung nichts, bei einer Doppelberührung (wie Doppelklick bei der Maus) verhält sie sich so wie bei einem Mausklick, d.h. der Focus springt ein Feld weiter (gewünschtes Verhalten).
Die virtuelle Windows 10 Systemtastatur verhält sich bei Mausklick und bei Fingerberührung gleich.
Hat jemand eine Idee?
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 10. Mär 2021, 08:13
Meine Idee wäre es die Frage zu einer Frage umzuformulieren.
Oder mit anderen Worten, worauf willst Du hinaus?
Was funktioniert nicht, was hast Du probiert, wie hast Du probiert usw usf....
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
mateska

Registriert seit: 12. Jun 2018
2 Beiträge
 
#3

AW: Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 10. Mär 2021, 15:03
Ich möchte gerne, dass sich das TTouchKeyboard bzgl. der TAB-Taste so verhält, dass das Weiterschalten des Focus der Steuerelement auch bei einer einfachen Fingerberührung funktioniert. Anderenfalls ist ein Shift-Tab zum Rückwärtsbewegen des Focus nicht möglich, da das Shift bei der ersten Berührung der TAB-Taste wieder aufgehoben wird (wie bei den andern Tasten auch).
Beim Klicken mit der Maus auf die Tab-Taste funktioniert es wie gewünscht.
Standardmäßig arbeiten wir mit Delphi XE5. Probehalber habe ich es mit dem Rad-Studio 10.2 versucht, mit dem gleichen unbefriedigenden Ergebnis. Wir haben sowohl ein selbsdefiniertes Layout benutzt als auch das zu Delphi gehörende Standard-Layout, immer mit dem gleichen Ergebnis.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 10. Mär 2021, 15:38
Dann geht die Tastatur nicht richtig,
oder sie ist falsch konfiguriert.

Die Strg/Alt/Shift bleiben beim Antippen so lange aktiv, bis eine Taste gegrückt wird.
Diese Tasten werden nur direkt beim Loslassen wieder inaktiv, wenn man zwischendrin eine Taste gerückt hat.
> Strg drücken, andere Taste drücken und loslassen, Strg loslassen
> Strg drücken+loslassen, andere Taste drücken+loslassen



Nur das TTouchKeyboard der VCL hat einen Bug, wo wenn man Strg+Shift+Alt gleichzeitig aktiviert hat, dann bleibt die zuerst gegrückte ControlTaste weiterhin aktiv, nachdem der Buchstabe gedrückt wurde.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.

Geändert von himitsu (10. Mär 2021 um 15:45 Uhr)
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.170 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 10. Mär 2021, 18:40
(bitte ignorieren)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Virtuelle Tastatur unterschiedliches Verhalten mit Maus oder Touchbedienung

  Alt 10. Mär 2021, 19:05
Ich habe mir gerade mal die Beschreibung durchgelesen.
Zitat:
The TTouchKeyboard works like a normal keyboard but the difference resides in the modifier keys. The modifier keys Shift and Fn can be toggled rather than just be touched and held. For example, when Shift is touched once, it is toggled on and the letter keys change the caption to their uppercase equivalent. Once the user touches one of the letter keys, the Shift key is toggled off and the lettered keys resume their normal caption.
Da könnte man auf die schnelle einen Timer basteln der anspringt wenn was bestimmtes einen focus bekommt, letzten status von steuerungstasten merken und abfragen ob sich was geändert hat solange focusiert und nicht return-taste, alle tastenanschläge weiterleiten mit den original gemerkten steuerungstasten.
Ist das nachvollziehbar was ich meine?

//edit proto-code
1. onTimer aktivieren wenn editX focus erhält
2. onKeyInput über timer aktivieren um keyboard abzufangen
3. leiteWeiter(buchstabe:char; ctrl:boolean; shift:boolean; alt:boolean) o.ä. basteln die den puffer an EditX weiterleitet
4. timer ausschalten wenn focus verloren geht, der onKey mit abschaltet
Gruß vom KodeZwerg

Geändert von KodeZwerg (10. Mär 2021 um 19:14 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:55 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