Could anyone suggest improvements or perhaps a better solution entirely? Cheers
Code: Select all
Process,Priority,,L ; seems to be necessary for reliably capturing synthetic key presses (ie. via voice command)
Thread, Interrupt, 600 ; allows for additional modifiers to show
#SingleInstance force
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
CoordMode, ToolTip, Screen
~*LCtrl::
state1 := GetKeyState("LCtrl")
while (GetKeyState("LCtrl"))
{
sleep 10
if state1 = 0
{
ToolTip,,,,1
exit
}
if A_Index > 40
{
tooltip, Ctrl, 1000, 0, 1
exit
}
}
return
~*LCtrl Up::
ToolTip,,,,1 ;LCtrl RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*LButton::
state2 := GetKeyState("LButton")
while (GetKeyState("LButton"))
{
sleep 10
if state2 = 0
{
ToolTip,,,,2
exit
}
if A_Index > 40
{
tooltip, LButton, 1030, 0, 2
exit
}
}
return
~*LButton Up::
ToolTip,,,,2 ;LButton RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*Shift::
state3 := GetKeyState("Shift")
while (GetKeyState("Shift"))
{
sleep 10
if state3 = 0
{
ToolTip,,,,3
exit
}
if A_Index > 40
{
tooltip, Shift, 1080, 0, 3
exit
}
}
return
~*Shift Up::
ToolTip,,,,3 ;Shift RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*RAlt::
state4 := GetKeyState("RAlt")
while (GetKeyState("RAlt"))
{
sleep 10
if state4 = 0
{
ToolTip,,,,4
exit
}
if A_Index > 40
{
tooltip, RAlt, 965, 0, 4
exit
}
}
return
~*RAlt Up::
ToolTip,,,,4 ;RAlt RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*RButton::
state5 := GetKeyState("RButton")
while (GetKeyState("RButton"))
{
sleep 10
if state5 = 0
{
ToolTip,,,,5
exit
}
if A_Index > 40
{
tooltip, RButton, 1150, 0, 5
exit
}
}
return
~*RButton Up::
ToolTip,,,,5 ;RButton RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*LAlt::
state6 := GetKeyState("LAlt")
while (GetKeyState("LAlt"))
{
sleep 10
if state6 = 0
{
ToolTip,,,,6
exit
}
if A_Index > 40
{
tooltip, LAlt, 935, 0, 6
exit
}
}
return
~*LAlt Up::
ToolTip,,,,6 ;LAlt RELEASED
return
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~*LWin::
state7 := GetKeyState("LWin")
while (GetKeyState("LWin"))
{
sleep 10
if state7 = 0
{
ToolTip,,,,7
exit
}
if A_Index > 40
{
tooltip, LWin, 905, 0, 7
exit
}
}
return
~*LWin Up::
ToolTip,,,,7 ;LWin RELEASED
return