Тема: AHK: Space как Shift
Что-то не могу придумать как повесить на Space функции Shift, со следующим поведением:
{Space Down}{Key Down}{Key Up} посылает shift + Key
{Space Down}{Key Down}{Space Up}{Key Up} посылает {Space}{Key},
где Key - клавиши символов и F1-F12.
UPD:
Концепт:
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
$Space::
KeyWait, Space
if (A_PriorKey == "Space")
Send {Space}
else
{
Loop, 256
{
key_with_space := Format("vk{:x}", A_Index-1)
if GetKeyState(key_with_space,"P")
Send {Space}
}
}
return
#if GetKeyState("Space", "P")
$VK51::
$VK57::
$VK46::
$VK50::
$VK47::
$VK4A::
$VK4C::
$VK55::
$VK59::
$VKBA::
$VKDB::
$VKDD::
$VKDC::
$VK41::
$VK52::
$VK53::
$VK54::
$VK44::
$VK48::
$VK4E::
$VK45::
$VK49::
$VK4F::
$VKDE::
$VK5A::
$VK58::
$VK43::
$VK56::
$VK42::
$VK4B::
$VK4D::
$VKBC::
$VKBE::
$VKBF::
key := SubStr(A_ThisHotkey,2)
while GetKeyState("Space", "P") && GetKeyState(key, "P")
sleep 30
if GetKeyState("Space", "P")
{
send +{%key%}
}
else
{
keywait %key%
send {Space}
sleep 30
send {%key%}
}
return
#if
Можно ли написать это как-то изящней?