Зря я делал такие сложные штуки, оказывается всё гораздо проще, программа умеет сама переключать профили!
добавил фичу - когда подсветка экрана выключена, выключается и подсветка спейснавигатора. Но при срабатывании какого-либо его действия подсветка вспыхивает на долю секунды, давая понять что команда прошла.
Код:
DetectHiddenWindows On
SetTitleMatchMode 2
StringToSend := "HID;SpaceNavigator;Led On"
VarSetCapacity(CopyDataStruct, 12, 0)
NumPut(StrLen(StringToSend) + 1, CopyDataStruct, 4)
NumPut(&StringToSend, CopyDataStruct, 8)
SendMessage, WM_COPYDATA, 0, &CopyDataStruct,, SpaceNavigatorDriver
StringToSend := "HID;SpaceNavigator;Led Off"
SendMessage, WM_COPYDATA, 0, &CopyDataStruct,, SpaceNavigatorDriver
Хочу еще сделать оповещение о срабатывании и о переключении профилей звуком. На экране оповещение уже показывается в виде полупрозрачных надписей типа OSD.
PS: Оказывается этот драйвер еще и умеет понимать жесты! Сейчас попробовал, прикольно.