Для того чтобы написать скрипт на Autohotkey, который работает только с определенной клавиатурой, нужно использовать функцию GetRawInputDeviceInfo для получения уникального идентификатора (PID/VID) выбранного устройства. Ниже приведен пример скрипта:
```
#Persistent
#NoEnv
OnMessage(0x00FF, "RawInput")
hDevice := 0
RawInput(wParam, lParam)
{
if (wParam = 0x100) ; WM_INPUT
{
DeviceID := lParam & 0xFFFFFF
if (DeviceID = hDevice)
{
; Ваш код здесь
}
}
return 0
}
Loop
{
if (GetRawInputDeviceInfo(hDevice, 0x2000000D, &buff, A_PtrSize)
{
if (NumGet(buff) = "YourPIDVIDHere") ; Замените на PID/VID вашего устройства
{
hDevice := NumGet(GetRawInputData(0, "RID_HEADER")) + 4
}
else
{
hDevice := 0
}
}
Sleep, 1000
}
```
Чтобы изменить скрипт таким образом, чтобы он работал только с определенной клавиатурой и исправить функционал F8 и F9, нужно вставить свой код внутрь условия `if DeviceID = hDevice` и учитывать правильное использование этих клавиш. Например:
```
if (DeviceID = hDevice)
{
F8:: SendInput {Space} ; Назначаем клавише F8 действие нажатия пробела
F9:: SendInput hello
}
```
Помните, что код клавиш F8 и F9 может варьироваться в зависимости от вашего сценария использования.