Как и обещал, выкладываю свой скрипт, точнее отредактированный под мой джойстик. Там остались функции которые не используются в принципе
; Скрипт для подключения автомобильного двойстика к Форд Фокус - Sy76
; *********************** Секция настроек начало ***********************
JoystickNumber = 1
VolumeStep = 5
; Погрешность определения значений
KeyGetDelta = 0.3
; Значения кнопок
JKey_OFF =
JKey_ATT =
JKey_X1 = 11.9
JKey_X2 =
JKey_X3 =
JKey_PREV = 9.9
JKey_NEXT = 7.95
JKey_VOLD = 3.9
JKey_VOLU = 5.85
; Переменная в которой запоминаем громкость (для Mute)
MUTE_SOUND = 0
; *********************** Секция настроек конец ***********************
#SingleInstance
SetFormat, float, 0.2 ; Omit decimal point from axis position percentages.
; Читаем инфу по жостику. Пока с ней ничего не делаем
GetKeyState, joy_buttons, %JoystickNumber%JoyButtons
GetKeyState, joy_name, %JoystickNumber%JoyName
GetKeyState, joy_info, %JoystickNumber%JoyInfo
SoundGet, MUTE_SOUND
Loop
{
; Читаем состояние кнопок. Если кнопарь нажат, то переменная button(№кнопки)= D
Loop, %joy_buttons%
{
GetKeyState, button%a_index%, %JoystickNumber%joy%a_index%
}
; Читаем показания оси Х - по сути основных кнопок жостика
GetKeyState, joyx, %JoystickNumber%JoyX
; Читаем мышиный скролл (пока не пользуем)
; GetKeyState, mouse_Down, WheelDown
; GetKeyState, mouse_Up, WheelUp
; Генерим нужные действия:
; изменение громкости - меньше
If joyx-KeyGetDelta <= JKey_VOLD and joyx+KeyGetDelta >= JKey_VOLD
{
;SoundSet -VolumeStep
Send {Volume_Down}
}
; изменение громкости - больше
If joyx-KeyGetDelta <= JKey_VOLU and joyx+KeyGetDelta >= JKey_VOLU
{
;SoundSet +VolumeStep
Send {Volume_Up}
}
; JKey_X1
If joyx-KeyGetDelta <= JKey_X1 and joyx+KeyGetDelta >= JKey_X1
{
Send {Media_Play_Pause}
;Sleep, 10
}
; JKey_OFF
If joyx-KeyGetDelta <= JKey_OFF and joyx+KeyGetDelta >= JKey_OFF
{
; Действие на JKey_OFF
}
; JKey_ATT
If joyx-KeyGetDelta <= JKey_ATT and joyx+KeyGetDelta >= JKey_ATT
{
; Действие на JKey_ATT
SoundGet, Tmp
If Tmp = 0 ;мы в режиме MUTE
{
SoundSet, MUTE_SOUND
Sleep, 150
}
Else
{
SoundGet, MUTE_SOUND
SoundSet, 0
Sleep, 150
}
}
; JKey_PREV
If joyx-KeyGetDelta <= JKey_PREV and joyx+KeyGetDelta >= JKey_PREV
{
; Действие на JKey_PREV
Send {Media_Prev}
}
; JKey_NEXT
If joyx-KeyGetDelta <= JKey_NEXT and joyx+KeyGetDelta >= JKey_NEXT
{
; Действие на JKey_NEXT
Send {Media_Next}
}
; Ждем 150 мс (0.15 сек)
Sleep, 150
}
return
|