Показать сообщение отдельно
Старый 16.01.2008, 12:32   #44
sly76
Banned
 
Аватар для sly76
 
Регистрация: 27.03.2007
Город: mgInemsGD
Регион: 02
Машина: mgInemsGD
Сообщений: 152
sly76 is on a distinguished road
По умолчанию

Как и обещал, выкладываю свой скрипт, точнее отредактированный под мой джойстик. Там остались функции которые не используются в принципе

; Скрипт для подключения автомобильного двойстика к Форд Фокус - 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
sly76 вне форума   Ответить с цитированием