AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Zeit bis Tastendruck wiederholt wird
Thema durchsuchen
Ansicht
Themen-Optionen

Zeit bis Tastendruck wiederholt wird

Ein Thema von blablab · begonnen am 13. Feb 2009 · letzter Beitrag vom 13. Feb 2009
Antwort Antwort
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#1

Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 13:11
Hallo!

Wenn man unter windows eine taste drückt, dann erhält das fenster ja das ereignis "Taste down". wenn man die Taste dann gedrückt hält, kriegt das Fenster irgendwann immer wieder das ereignis nennen wir es mal "Taste gedrückt", und sobald man die Taste loslässt "Taste up".
Meine Frage ist nun, wie viel Zeit muss vergehen, dass nach "Taste down" das ereignis "Taste gedrückt" kommt.
Kann man das irgendwie zur Laufzeit auslesen?

Edit: Man kann das bei XP unter Systemsteuerung->Tastatur->Geschwindigkeit->Zeichenwiederholung->Verzögerung einstellen

Danke schonmal für eure Hilfe!
Gruß
Simon
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 13:24
Zitat von blablab:
Edit: Man kann das bei XP unter Systemsteuerung->Tastatur->Geschwindigkeit->Zeichenwiederholung->Verzögerung einstellen
du hast es ja im Grunde schon gesagt ^^

PS: In der Windows-Nachricht (zu den Tasten-Botschaften) selber gibt es noch ein Flag (glaub ich mal gesehn zu haben), welches besagt, ob die aktuelle Nachricht wvon soeiner "Tastenwiederholung" samt, oder ob die Taste wirklich grad gedrückt wurde.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#3

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 13:28
Aus der Hilfe zu WM_KEYDOWN:
Zitat:
...
lKeyData

Value of lParam. Specifies the repeat count, scan code, extended-key flag, context code, previous key-state flag, and transition-state flag, as shown in the following table:

Value Description
0-15 Specifies the repeat count. The value is the number of times the keystroke is repeated as a result of the user holding down the key.
...
[edit] Irgendwie war das jetzt aber am Thema vorbei, oder? [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 13:33
@himitsu:
aber ich will doch zur laufzeit diese verzögerung in millisekunden auslesen.
das kann man doch bestimmt mit irgendeiner funktion abfragen...
ich möchte die zeit auch nicht selber mitstoppen, weil ich die zeit schon beim ersten tastendruck brauche.

außerdem kann man in dem dialog bei der verzögerung nur zwischen kurz und lang wählen, was mir nicht allzuviel bringt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 14:19
ja dann schau doch einfach nach?
irgendwo in der Registry stehen ja diese Zeiten.
Und die DP-Suche, sowie Google dürften dazu was liefen und vielleicht gibt's ja sogar schon 'ne fertige Funktion z.B. in den JEDIs.

eventuell mal nach "tastenwiederholung", "typematic registry", "keyboard typematic rate" oder sowas in der art suchen
$2B or not $2B
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 16:38
Das kann ja gut sein, dass das irgendwo in der registry steht, aber wie soll ich das finden? wie soll ich denn nach einer zahl suchen, von der ich den wert nichtmal weiß??? ich kann doch net die ganze registry durchsuchen...
und ich habs ja schon versucht hier und auch bei google was zum thema zu finden bevor ich den thread eröffnet hab. das problem ist nur, dass ich nix gefunden hab.
ich kann deine einwände verstehen himitsu, weil es fragen gibt, die hier zum tausendsten mal gestellt werden und sich deshalb die leute die helfen wollen dumm vorkommen. aber ich hab wirklich nix dazu gefunden und ich dachte mir, vielleicht weiß das ja zufällig jemand.
ich will ja gar nicht, dass hier leute für mich stundenlang recherchieren. ich möchte nur, dass jemand der die antwort kennt oder einen guten tipp hat, mir hilft...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 16:44
nee, Einwande nich, aber das wo weiß ich auch nicht,
drum hatte ich wenigstens noch versucht dir eventuell ein paar neue Suchwörter, für deine Suche, zu liefern

wenn ich mal etwas mehr Zeit hab, kann ich mich ja noch etwas umsehn.
$2B or not $2B
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 17:04
ich hab mal in de hilfe gesucht und bin darauf gestoßen:
Verzögerung:
SystemParametersInfo(SPI_GETKEYBOARDDELAY, 0, @integer, 0);
wiederholrate:
SystemParametersInfo(SPI_GETKEYBOARDSPEED, 0, @integer, 0);

das problem ist nur, dass ich da eine Zahl im Bereich von 0-3 und 0-31 zurückgeliefert bekomme und ich weiß jetzt nicht für was das steht...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 17:09
MSDN-Library durchsuchenSystemParametersInfo

Zitat von SPI_GETKEYBOARDDELAY:
Retrieves the keyboard repeat-delay setting, which is a value in the range from 0 (approximately 250 ms delay) through 3 (approximately 1 second delay). The actual delay associated with each value may vary depending on the hardware.
0=250ms
...
3=1000ms

Zitat von SPI_GETKEYBOARDSPEED:
Retrieves the keyboard repeat-speed setting, which is a value in the range from 0 (approximately 2.5 repetitions per second) through 31 (approximately 30 repetitions per second). The actual repeat rates are hardware-dependent and may vary from a linear scale by as much as 20%.
0=400ms
...
31=33ms

alles so in etwa, da es nach Hardware abweichen kann.
$2B or not $2B
  Mit Zitat antworten Zitat
blablab

Registriert seit: 3. Jan 2006
509 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Zeit bis Tastendruck wiederholt wird

  Alt 13. Feb 2009, 17:13
Dankeschön himitsu!
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:39 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