PCCar.ru - Ваш автомобильный компьютер

Вернуться   PCCar.ru - Ваш автомобильный компьютер > MP3Car ТехИнфа > Устройства ввода > Пульты ДУ

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2008, 00:03   #51
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

....

Последний раз редактировалось alexsorockin; 16.10.2008 в 00:49.
alexsorockin вне форума   Ответить с цитированием
Старый 16.10.2008, 00:26   #52
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

Цитата:
Сообщение от ubazza Посмотреть сообщение
Схемы подключения джойстика Sony RM-X2S , Sony RM-X4S
http://llg.cubic.org/tools/sonyrm/ - повесить сопрот 120ко на 6,8 pin порта (в схеме не нарисовано) - ось х
вторая схема
http://freeweb.supereva.com/dmc.freeweb/?p - в схеме нет проводка от оси Х, на разъём подключения джойстика.
Там же лежит готовый софт под winamp (plugin)
__________________________________________________ ____________

Для настройки под другой софт потребуется программа autohotkey

Скрипт для управления сфтом.
; Скрипт для подключения автомобильного двойстика Sony X4S к CarPc
; *********************** Секция настроек начало ***********************
JoystickNumber = 1
VolumeStep = 5
; Погрешность определения значений
KeyGetDelta = 0.3
; Значения кнопок
JKey_OFF =
JKey_ATT = 1.82
JKey_X1 =
JKey_X2 = 2.6
JKey_X3 = 11.1
JKey_PREV = 3.4
JKey_NEXT = 4.6
JKey_VOLD = 6.2
JKey_VOLU = 8.2
JKey_SOURCE = 0.8
; Переменная в которой запоминаем громкость (для Mute)
MUTE_SOUND = 0
; *********************** Секция настроек конец ***********************

#SingleInstance
SetFormat, float, 0.1 ; 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
}

; изменение громкости - больше
If joyx-KeyGetDelta <= JKey_VOLU and joyx+KeyGetDelta >= JKey_VOLU
{
SoundSet +VolumeStep
}

; JKey_X1
If joyx-KeyGetDelta <= JKey_X1 and joyx+KeyGetDelta >= JKey_X1
{
}

; 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
}
Else
{
SoundGet, MUTE_SOUND
SoundSet, 0
}

}


; JKey_X2
If joyx-KeyGetDelta <= JKey_X2 and joyx+KeyGetDelta >= JKey_X2
{
; Действие на JKey_X2
WinActivate ahk_class E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8

Send !2
}

; JKey_X3
If joyx-KeyGetDelta <= JKey_X3 and joyx+KeyGetDelta >= JKey_X3
{
; Действие на JKey_X3
WinActivate ahk_class E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8

Send !5
}

; JKey_PREV
If joyx-KeyGetDelta <= JKey_PREV and joyx+KeyGetDelta >= JKey_PREV
{
; Действие на JKey_PREV
WinActivate ahk_class E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8
Send !1
}

; JKey_NEXT
If joyx-KeyGetDelta <= JKey_NEXT and joyx+KeyGetDelta >= JKey_NEXT
{
; Действие на JKey_NEXT
WinActivate ahk_class E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8
Send !3
}

; JKey_SOURCE
If joyx-KeyGetDelta <= JKey_SOURCE and joyx+KeyGetDelta >= JKey_SOURCE
{
; Действие на JKey_SOURCE
WinActivate ahk_class TForm1
Send {F11}
}

; Ждем 250 мс (0.25 сек)
Sleep, 250
}
return
__________________________________________________ _____________

а этот скрипт для опознания координат оси Х – те координаты которые нужно вбивать в превый скрипт.


; July 6, 2005: Added auto-detection of joystick number.
; May 8, 2005 : Fixed: JoyAxes is no longer queried as a means of
; detecting whether the joystick is connected. Some joysticks are
; gamepads and don't have even a single axis.

; If you want to unconditionally use a specific joystick number, change
; the following value from 0 to the number of the joystick (1-32).
; A value of 0 causes the joystick number to be auto-detected:
JoystickNumber = 1

; END OF CONFIG SECTION. Do not make changes below this point unless
; you wish to alter the basic functionality of the script.

; Auto-detect the joystick number if called for:
if JoystickNumber <= 0
{
Loop 32 ; Query each joystick number to find out which ones exist.
{
GetKeyState, JoyName, %A_Index%JoyName
if JoyName <>
{
JoystickNumber = %A_Index%
break
}
}
if JoystickNumber <= 0
{
MsgBox The system does not appear to have any joysticks.
ExitApp
}
}

#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
Loop
{
buttons_down = 0
Loop, %joy_buttons%
{
GetKeyState, joy%a_index%, %JoystickNumber%joy%a_index%
if joy%a_index% = D
buttons_down = %buttons_down%%a_space%%a_index%
}
GetKeyState, joyx, %JoystickNumber%JoyX
axis_info = X%joyx%
GetKeyState, joyy, %JoystickNumber%JoyY
axis_info = %axis_info%%a_space%%a_space%Y%joyy%
IfInString, joy_info, Z
{
GetKeyState, joyz, %JoystickNumber%JoyZ
axis_info = %axis_info%%a_space%%a_space%Z%joyz%
}
IfInString, joy_info, R
{
GetKeyState, joyr, %JoystickNumber%JoyR
axis_info = %axis_info%%a_space%%a_space%R%joyr%
}
IfInString, joy_info, U
{
GetKeyState, joyu, %JoystickNumber%JoyU
axis_info = %axis_info%%a_space%%a_space%U%joyu%
}
IfInString, joy_info, V
{
GetKeyState, joyv, %JoystickNumber%JoyV
axis_info = %axis_info%%a_space%%a_space%V%joyv%
}
IfInString, joy_info, P
{
GetKeyState, joyp, %JoystickNumber%JoyPOV
axis_info = %axis_info%%a_space%%a_space%POV%joyp%
}
ToolTip, %joy_name% (#%JoystickNumber%):`nJoy_info is:%joy_jnfo%`n%axis_info%`nButtons Down: %buttons_down%`n`n(right-click the tray icon to exit)
; Ждем 200 мс (0.2 сек)
Sleep, 200
}
return


__________________________________________________ ___________

Важные параметры.
float, 0.1 – в обоих скриптах ед. измерения (отображения знаков после точки) – для тех у кого координаты находятся близко.

PS: Большое Спасибо Hamster, Mike, за скрипты , помощь в сборе и советах.

Так и не разобрался в первом скрипте... укажите на строчки, в которых выполняется действие в винде? Каким образом скрипт связывается с остальными программами? Билн, как это сформалировать... Вот если бы надо было двинуть нажать enter - написали бы Send, {ENTER}... А тут как взаимодействие происходит?
alexsorockin вне форума   Ответить с цитированием
Старый 16.10.2008, 01:10   #53
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

Откомпилировал первый скрипт, запустил. Откомпилировал второй - запустил. оба запущены. Во всплывающем окошке от второго скрипта при поворачивании резисторов видно как меняются показания по осям X,Y,Z, но в то же время как ни крути не срабатывает ни одна функция (Send F11, к примеру (активно окно браузера, должно развернуться на полный экран)...) В чём дело? На каких значениях будет срабатывать?
alexsorockin вне форума   Ответить с цитированием
Старый 16.10.2008, 02:16   #54
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Цитата:
Сообщение от alexsorockin Посмотреть сообщение
Откомпилировал первый скрипт, запустил. Откомпилировал второй - запустил. оба запущены. Во всплывающем окошке от второго скрипта при поворачивании резисторов видно как меняются показания по осям X,Y,Z, но в то же время как ни крути не срабатывает ни одна функция (Send F11, к примеру (активно окно браузера, должно развернуться на полный экран)...) В чём дело? На каких значениях будет срабатывать?
Для начала:

1. убери весь лишний код из скрипта. так будет проще...
2. расширь диапазон, при котором срабатывает нужное тебе событие.
3. назначь какое-либо более простое событие. К примеру, запуск приложения
4. Лучше сначала научись обрабатывать события клавиатуры как тебе надо, ибо они одномоментные, нажал - действие. Приведенный ниже скрипт будет запускать notpad 4 раза в секунду если ось X находится между 20 и 30...
5. Кури эту страницу http://www.script-coding.info/AutoHotkey/Tutorial.html а также хелп к AHK. Там есть почти все, что нужно, чтобы управлять чем угодно.

пример:

#SingleInstance
SetFormat, float, 0.1 ; 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

If (joyx <= 30) and (joyx >= 20) ; если джойстик по оси х там где надо - запускаем блокнот
{
Run, Notepad ; запуск Блокнота

}
Sleep, 250
}
return
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 16.10.2008, 21:07   #55
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

Понял фишку, написал на основе первого и второго скриптов утилитку. Если надо будет - могу дать исходник. Качайте!
http://slil.ru/26243353

теперь возникло два вопроса:
кто как назначил кнопки джойтика?
у меня так:
SOURCE =Play/Pause
VOLUME = как положено
SEEKUP - следующая песня
SEEKDOWN - предыдущая
ATT - само собой...
вообще не понимаю зачем ATT нужен, если можно на паузу нажать????

кто какие действия назначил на остальные кнопки?

и второй вопрос: как сделать в скрипте анализ двойного нажатия и тройного нажатия??? было бы очень полезно таким образом расширить количество возможных комбинаций
alexsorockin вне форума   Ответить с цитированием
Старый 16.10.2008, 22:11   #56
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Посмотри мой журнал. Только что скрипт писал. Правда, под РР.
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 17.10.2008, 07:43   #57
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

Настроил кнопки, изменил в двух местах в самом конце таким образом:

; JKey_PREV
if (jz = joyz_default)
{

; если отпустили кнопу prev или next до того, как началась перемотка, то меняем трек.
If (jx <= JKey_PREV_max) and (jx >= JKey_PREV_min) and (time_from_pressing < 10)
{
SEND ^!+{B}
}

; JKey_NEXT
If (jx <= JKey_NEXT_max) and (jx>= JKey_NEXT_min) and (time_from_pressing < 10)
{
SEND ^!+{N}
}
}
}


return

не работает... странно.... один раз заработало, когда CF , была свёрнута, вхожу - не работает... сворачиваю - опять работает...
alexsorockin вне форума   Ответить с цитированием
Старый 17.10.2008, 14:06   #58
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

1. Поставь пиликалку на это действие.
2. Сначала активируй CF. И скорее всего все получится.
__________________
Ford focus2, материнка ASUS AT3GC-I (atom 330), 1G памяти, HDD 200G, Lart радио, bluetooth, видеозапись. Монитор Lilliput 889GL. Оболочка RR+DigitalFX 3.0, подробности тут:http://forum.pccar.ru/showthread.php?t=5588
SBorovkov вне форума   Ответить с цитированием
Старый 17.10.2008, 20:01   #59
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

Спасибо тебе за скрипт! Сегодня расширил его! Сдеал порежиное управление и кучу всего...
Проблема была в том, что при редактировании горячих клавиш в CF они почему-то активироались, но не все, а как-то беспорядочно, а у меня в это время внастройфках горячие клавиши были отключены... Включил - и всё заработало!!!
alexsorockin вне форума   Ответить с цитированием
Старый 18.10.2008, 12:05   #60
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

#Singleinstance force

; Скрипт для подключения автомобильного джойстика Sony X4S к CarPc
; *********************** Секция настроек начало ***********************


SetFormat, float, 0.1 ; Omit decimal point from axis position percentages.

JoystickNumber = 1
First_VolumeStep = 1
Repeat_VolumeStep_default = 2
Repeat_VolumeStep_Amplifier = 1.2
First_MouseStep = 1
Repeat_MouseStep_default = 2
Repeat_MouseStep_Amplifier = 1.2
sleeptime_default = 50
sleeptime = sleeptime_default

; Погрешность определения значений
;KeyGetDelta = 0.3
; Значения кнопок
joyx_default=100
joyz_default=100

jKey_shift_min=2
jKey_shift_max=10

JKey_OFF_min = 3.6
JKey_OFF_max = 4.2

JKey_SOURCE_min = 4.6
JKey_SOURCE_max = 5.2

JKey_ATT_min = 5.0
JKey_ATT_max = 5.5

JKey_X1_min = 7.0
JKey_X1_max = 7.5

JKey_NEXT_min = 10.9
JKey_NEXT_max = 11.4

JKey_PREV_min = 8.0
JKey_PREV_max = 9.0

JKey_VOLU_min = 19.00
JKey_VOLU_max = 21.00

JKey_VOLD_min = 14.4
JKey_VOLD_max = 14.9

JKey_X2_min = 38.6
JKey_X2_max = 39.1

JKey_X3_min = 26.9
JKey_X3_max = 27.9
; Переменная в которой запоминаем громкость (для Mute)
MUTE_SOUND = 0
; *********************** Секция настроек конец ***********************

; Читаем инфу по жостику. Пока с ней ничего не делаем
GetKeyState, joy_buttons, %JoystickNumber%JoyButtons
GetKeyState, joy_name, %JoystickNumber%JoyName
GetKeyState, joy_info, %JoystickNumber%JoyInfo

prev_joyx = joyx_default
prev_joyz = joyz_default
joyx = joyx_default
joyz = joyz_default
timer = 0
joymode = 1
joymodes = 2

SoundGet, MUTE_SOUND
Loop
{
; Читаем состояние кнопок. Если кнопарь нажат, то переменная button(№кнопки)= D
Loop, %joy_buttons%
{
GetKeyState, button%a_index%, %JoystickNumber%joy%a_index%
}

; Читаем показания оси Х - по сути основных кнопок жостика
GetKeyState, joyx, %JoystickNumber%JoyX
GetKeyState, joyz, %JoystickNumber%joyZ

;ToolTip, %joyx%

; Читаем мышиный скролл (пока не пользуем)
; GetKeyState, mouse_Down, WheelDown
; GetKeyState, mouse_Up, WheelUp

; Генерим нужные действия:

;ToolTip, joyx=%joyx% (%joyx_default%) joyz=%joyz% (%joyz_default%)
;tooltip, %joymode%

if (joyx<>"") and((joyx<>prev_joyx) or (joyz<>prev_joyz))
{

if (prev_joyx <> joyx_default) or (prev_joyz<>joyz_default)
{
res_button_released( prev_joyx , prev_joyz , timer)
}
timer = 0
prev_joyx := joyx
prev_joyz := joyz
if (joyx <> joyx_default) or (joyz<>joyz_default)
{
res_button_pressed(joyx, joyz, timer)
; SoundPlay beep.wav
}
}
else
{
if (joyx <> joyx_default) or (joyz<>joyz_default)
{
timer := timer + 1
res_button_pressed(prev_joyx, prev_joyz, timer)
}

}

Sleep, sleeptime
}


;---------------------------------------------------------------------------------

res_button_pressed(jx, jz , time_from_pressing)
{
global ; чтобы иметь доступ к глобальным переменным

; SoundPlay, beep.wav
; tooltip, %jx% %jz% %time_from_pressing%

if (jz = joyz_default) and (time_from_pressing = 0) ; то есть обрабатываем непосредственно нажатия, а не удерживания кнопок, БЕЗ ШИФТА!
{
; JKey_X1
If (jx <= JKey_X1_max) and (jx >= JKey_X1_min)
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F4}
}
if (joymode=2)
{
}
}

; JKey_OFF
If (jx <= JKey_OFF_max) and (jx_min >= JKey_OFF) and (jz = joyz_default)
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F6}
}
if (joymode=2)
{
;Действие кнопки OFF в режиме 2
MouseGetPos, xpos, ypos
MouseClick, left, xpos, ypos
}
}


; JKey_ATT ;Выключаем микрофон
If (jx <= JKey_ATT_max) and (jx>= JKey_ATT_min)
{
SoundSet, +1, MICROPHONE, mute, 2
SoundPlay, beep.wav
}


; JKey_X2 - переключение режимов работы джойстика
If (jx <= JKey_X2_max) and (jx>= JKey_X2_min)
{
if (joymode>=joymodes)
{
joymode=1
sleeptime := sleeptime_default
}
else
{
joymode:=joymode+1
}
SoundPlay, joymode%joymode%.wav
}

; JKey_X3
If (jx <= JKey_X3_max) and (jx>= JKey_X3_min)
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F5}
}
if (joymode=2)
{
SEND {RBUTTON}
}
}

; JKey_SOURCE
If (jx<= JKey_SOURCE_max) and (jx>= JKey_SOURCE_min)
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F3}
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
MouseClick, left, xpos, ypos
}
}

}

;если не надавлен shift
if (jz = joyz_default)
{
; переключение песен предыдущая-следующая, движение мыши вверх-вниз
If (jx <= JKey_PREV_max) and (jx>= JKey_PREV_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F1}
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
MouseMove, xpos,ypos+First_MouseStep
Repeat_MouseStep:=Repeat_MouseStep_default
sleeptime := sleeptime_default
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
;Перемотка песни назад
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
Repeat_MouseStep:=Repeat_MouseStep_Amplifier*Repea t_MouseStep
MouseMove, xpos,ypos+Repeat_MouseStep
sleeptime = 0
}
}

}
If (jx <= JKey_NEXT_max) and (jx>= JKey_NEXT_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
SEND ^{F2}
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
MouseMove, xpos,ypos-First_MouseStep
Repeat_MouseStep:=Repeat_MouseStep_default
sleeptime := sleeptime_default
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
;Перемотка песни вперёд
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
Repeat_MouseStep:=Repeat_MouseStep_Amplifier*Repea t_MouseStep
MouseMove, xpos,ypos-Repeat_MouseStep
sleeptime = 0
}
}
}
}

; изменение громкости, движение мыши влево-вправо
If (jx <= JKey_VOLD_max) and (jx>= JKey_VOLD_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
sleeptime := sleeptime_default
Repeat_VolumeStep:=Repeat_VolumeStep_default
SoundGet, master_volume
master_volume := master_volume-First_VolumeStep
SoundSet, master_volume
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
MouseMove, xpos-First_MouseStep,ypos
Repeat_MouseStep:=Repeat_MouseStep_default
sleeptime := sleeptime_default
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
sleeptime := sleeptime_default
Repeat_VolumeStep:=Repeat_VolumeStep_Amplifier*Rep eat_VolumeStep
SoundGet, master_volume
master_volume := master_volume-Repeat_VolumeStep
SoundSet, master_volume
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
Repeat_MouseStep:=Repeat_MouseStep_Amplifier*Repea t_MouseStep
MouseMove, xpos-Repeat_MouseStep,ypos
sleeptime = 0
}
}

}
If (jx <= JKey_VOLU_max) and (jx>= JKey_VOLU_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
sleeptime := sleeptime_default
Repeat_VolumeStep:=Repeat_VolumeStep_default
SoundGet, master_volume
master_volume := master_volume+First_VolumeStep
SoundSet, master_volume
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
MouseMove, xpos+First_MouseStep,ypos
Repeat_MouseStep:=Repeat_MouseStep_default
sleeptime := sleeptime_default
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
sleeptime := sleeptime_default
Repeat_VolumeStep:=Repeat_VolumeStep_Amplifier*Rep eat_VolumeStep
SoundGet, master_volume
master_volume := master_volume+Repeat_VolumeStep
SoundSet, master_volume
}
if (joymode=2)
{
MouseGetPos, xpos, ypos
Repeat_MouseStep:=Repeat_MouseStep_Amplifier*Repea t_MouseStep
MouseMove, xpos+Repeat_MouseStep,ypos
sleeptime = 0
}
}
}

;если надавлен shift
if (jz <> joyz_default)
{
; выделение файлов
If (jx <= JKey_PREV_max) and (jx>= JKey_PREV_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
}
if (joymode=2)
{
SEND +{DOWN}
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
}
if (joymode=2)
{
SEND +{DOWN}
}
}

}
If (jx <= JKey_NEXT_max) and (jx>= JKey_NEXT_min) and ((time_from_pressing/5) = round(time_from_pressing/5))
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
}
if (joymode=2)
{
SEND +{UP}
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
}
if (joymode=2)
{
SEND +{UP}
}
}
}

If ((time_from_pressing/5) = round(time_from_pressing/5)) and (jx <= JKey_X3_max) and (jx>= JKey_X3_min)
{
if time_from_pressing = 0
{
SoundPlay, beep.wav
if (joymode=1)
{
}
if (joymode=2)
{
SEND ^{LBUTTON}
}
}
else
if time_from_pressing >= 15
{
if (joymode=1)
{
}
if (joymode=2)
{
}
}
}
}

}




;---------------------------------------------------------------------------------
;Действие при отпускании

res_button_released(jx, jz , time_from_pressing)
{
global ; чтобы иметь доступ к глобальным переменным

; SoundPlay, beep.wav

if (jz >= jKey_shift_min) and (jz <= jKey_shift_max) ; отпустили кнопку регулировку масштаба
{
If (jx <= JKey_NEXT_max) and (jx>= JKey_NEXT_min)
{

}
If (jx <= JKey_prev_max) and (jx>= JKey_prev_min)
{

}
}

; JKey_PREV
if (jz = joyz_default)
{

; если отпустили кнопу prev или next до того, как началась перемотка, то меняем трек.
If (jx <= JKey_PREV_max) and (jx >= JKey_PREV_min) and (time_from_pressing < 10)
{

}

; JKey_NEXT
If (jx <= JKey_NEXT_max) and (jx>= JKey_NEXT_min) and (time_from_pressing < 10)
{

}
}
}


return
alexsorockin вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 12:56.


Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot