Я решил очень похожую проблему. Отличие моей проблемы заключается в том что я делал так что бы скрипт зажимал отжимал клавишу fn. Как и сказал Irbis клавиша fn но обрабатывается, но я нашел метод перехвата нажатий комбинаций клавиш fn+F*. Вот мой скрипт:
:*:fn.::
Function_Switch := !Function_Switch
if Function_Switch
Send, ON.
else
Send, OFF
Sleep, 400
Send, {BS 3} ; deleting it
return
~$VKFFSC109:: ;From Down key
if !switch_5
{
Send, {VKFFSC109 7} ; -1
switch_5 := TRUE
}
return
#if Function_Switch
SC03C::VKFFSC103 ;F2
SC03D::€ ;F3, this key does not have any special scan code
SC03E::VKFFSC102 ;F4
SC03F::VKFFSC104 ;F5
SC040::Volume_Mute ;F6
SC041::VKFFSC131 ;F7
SC042::VKFFSC133 ;F8
:*?:WiFi::
SC043:: ;F9
Send, {VKFFSC106}
return
SC044:: ;F10
if Switch_4
{
Send, {vkFFsc179} ; off touchpad
Switch_4 := FALSE
}
else
{
Send, {vkFFsc177}
Switch_4 := TRUE
}
return
SC14B::Volume_Down ;Left
SC14D::Volume_Up ;Right
SC148::VKFFSC108 ;Up
SC150:: ;Down
if !switch_5
{
Send, {VKFFSC109 5}
switch_5 := TRUE
}
else
Send, {VKFFSC109}
return
Так вот комбинация типа VKFFSC109 является сочетанием нажатия fn + f*. Для того что бы получить это, нужно отследить скан и vk коды всех необходимых клавиш, а потом повесить на эти нажатия клавиши f1-f12.