wenn eine der folgenden Schreibweisen
KeyWait oder KeyWait,* oder KeyWait, [Beliebige_Taste]
so lange warten würde bis keine Taste gedrückt ist, dann wäre dieser Topic beantwortet.
Kennt jemand einen funktionierenden KeyWait oder sonstige Befehle, die ohne lange Tastenlisten auskommen (und dabei letztendlich doch nicht alle Tasten berücksichtigt zu haben)?
Wenn keine Taste gedrückt ist, soll es sofort weiter gehen, ansonsten soll gewartet werden bis die letzte Taste losgelassen wurde.
Mause- oder JoyStick-Tasten zu berücksichtigen ist nicht zwingend.
warten bis keine Taste (mehr) gedrückt ist
Moderator: jNizM
warten bis keine Taste (mehr) gedrückt ist
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
Re: warten bis keine Taste (mehr) gedrückt ist
Danke BoBo, vermutlich werde ich es mit einer Timeidle Variablen realisieren müssen. Da ist aber noch das offene Problem, wenn eine dauergedrückte Taste, weil sich nichts verändert, von TimeIdle nicht mehr bemerkt wird. Die Tasten mit Tastatur-Repeat sollten davon nicht betroffen sein, aber wie ist es mit den umschalt-Tasten, wie bspw. Shift oder Ctrl ? Die 2 Letzteren haben bei mir einen Repeat. Vermutlich haben ihn auch die Anderen, sodass meine Sorge unbegründet sein wird. Die Gefahr von aus geschaltenem Tastatur-Repeat wird wohl auch verschwindend gering sein.
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick
Re: warten bis keine Taste (mehr) gedrückt ist
Hallo,
versuch es mal hiermit:oder ohne Schnickschnack:
versuch es mal hiermit:
Code: Select all
#InstallKeybdHook
#InstallMouseHook
q::
While, KC := KeyCombination()
ToolTip,% KC
ToolTip
ComObjCreate("SAPI.SpVoice").Speak("keine Taste mehr gedrückt")
Return
KeyCombination(ExcludeKeys:="")
{ ;All pressed keys and buttons will be listed
ExcludeKeys .= "{Shift}{Control}{Alt}{WheelUp}{WheelDown}"
Loop, 0xFF
{
IF !GetKeyState(Key:=Format("VK{:02X}",0x100-A_Index),"P")
Continue
If !InStr(ExcludeKeys,Key:="{" GetKeyName(Key) "}")
KeyCombination .= RegexReplace(Key,"Numpad(\D+)","$1")
}
Return, KeyCombination
}
Code: Select all
#InstallKeybdHook
#InstallMouseHook
q::
While, Taste_gedrückt()
Continue
Return
Taste_gedrückt()
{
Loop, 0xFF
IF GetKeyState(Key:=Format("VK{:02X}",A_Index),"P")
Return, True
Return, False
}
Re: warten bis keine Taste (mehr) gedrückt ist
Danke Rohwedder,
das sieht gut aus, habe allerdings noch Herausforderungen beim Einbau in mein Skript.
Ich melde mich gegebenenfalls mit Details.
das sieht gut aus, habe allerdings noch Herausforderungen beim Einbau in mein Skript.
Ich melde mich gegebenenfalls mit Details.
https://github.com/Grrdi/ZackZackOrdner/archive/master.zip --> get folders on the quick