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

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

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

Функции джойстика:


X2 (MODE) - Переключение режимов (2 режима) - сопровождается аудио-сообщением из файлов joymode1.wav, joymode1.wav. При необходимости количество режимов можно увеличить до бесконечности.

Режим 1 - режим проигрывателя
SOURCE - CTRL+F3
NEXT - CTRL+F2 (следующая песня)
PREV - CTRL+F1 (предыдущая песня)
VOLU - увеличение Master-громкости Windows
VOLD - уменьшение Master-громкости Windows
OFF - CTRL+F6 (компьютер в ждущий режим), режим сна - отдельной кнопкой на панели автомобиля, ей же и включается
ATT - выключение микрофона второй звуковой карты (у меня подключен USB SOUND ADAPTER)
X1(SEL) - CTRL+F4 (поднять трубку), Загрузить "ТЕЛЕФОН"
X3 (DSPL) - CTRL+F5 (повесить трубку)

Режим 2 - режим Windows
VOLU - движение мыши вправо
VOLD - движение мыши влево
NEXT - движение мыши верх
PREV - движение мыши вниз
SOURCE - клик левой кнопкой мыши
SHIFT+NEXT - выделение файлов в проводнике вверх (SHIFT+вверх)
SHIFT+NEXT - выделение файлов в проводнике вниз (SHIFT+вниз)
X3 (DSPL) - правая кнопка мыши
SHIFT + X3 (DSPL) - CTRL+левая кнопка мыши (SHIFT+SOURCE) почему-то не работает...


Чтобы отключить оповещение о действии (пищание) можно просто удалить файл beep.wav
alexsorockin вне форума   Ответить с цитированием
Старый 18.10.2008, 21:39   #62
Hamster
Больной. Диагноз "Car PC"
 
Аватар для Hamster
 
Регистрация: 01.09.2005
Возраст: 51
Город: Москва
Регион: 77, 97, 99, 177
Машина: 08\Acura\MDX •••• 07\Honda\Civic 4D
Сообщений: 4,379
Hamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to beholdHamster is a splendid one to behold
По умолчанию

Отличная работа!
Я когда писал этот скрипт конечно совсем не заморачивался
__________________
Старый проект Honda Accord RHD
Теперь будет Acura MDX 2008 и Honda Civic 4D 2007 и Mitsubishi Outlander XL 2011
Hamster вне форума   Ответить с цитированием
Старый 19.10.2008, 02:14   #63
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

2 alexsorockin
Ты еще не использовал возможности различия длинного и короткого нажатия. Я, к примеру, ща сделал так, чтобы длинное нажатие power сворачивало РР, а короткое - восстанавливало. Также можно поступить и с какими-нить еще действиями. Жмешь коротко - открывается один экран, долго - другой (но желательно похожие, чтобы голова не пухла ).

То есть ты можешь комп выключать только при длинном нажатии, а при коротком - делать что-нить другое.

Меня прикалывает, что почему-то нигде не видел кода, который позволяет полноценно обратабывать нажатия разной длительности, обрабатывать повторения и пр. Хотя самого когда там 10 строк. Все обрабатывали статические состояния кнопок, не учитывая время, так сказать.
__________________
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 вне форума   Ответить с цитированием
Старый 19.10.2008, 15:03   #64
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

таймер вставить и обрабатывать различия по времени между нажатиями в двух сканах цикла...

можешь дать код, а то думать самому в лом, ПОЖАЛУЙСТА! ВОСКРЕСЕНЬЕ ВЕДЬ!

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

Цитата:
Сообщение от alexsorockin Посмотреть сообщение
таймер вставить и обрабатывать различия по времени между нажатиями в двух сканах цикла...

можешь дать код, а то думать самому в лом, ПОЖАЛУЙСТА! ВОСКРЕСЕНЬЕ ВЕДЬ!

У меня пока голова забита как делать двойное и тройное нажатие...
Двойное и тройное нажатие как раз сложно обработать в рамках этой модели. А вот длинные-короткие - нефиг делать:

На onpressing пикаешь на нажатие (timer=0), но ничего более не делаешь!
Далее, если дожидаешься onpressing с timer=xxx, то делаешь действие, которое опеределено по длинному нажатию (можно заодно еще раз пикнуть). Если же случилось onrelease с таймером менее xxx, то это означает, что произошло короткое нажатие (тут не пикаешь, но выполняешь действие, связанное с коротким нажатием).

То есть короткое нажатие ты определяешь не по нажатию, а по отпусканию. У меня именно так была сделана перемотка треков/переключение. Там путанно с константами в плане определения времени, но суть именно такая. Определи, что короткое нажатие, к примеру, меньше 0.5 секунды. Задержка, связанная с тем, что событие короткого нажатия привязано к отпусканю, не ощущается.
__________________
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 вне форума   Ответить с цитированием
Старый 22.10.2008, 16:19   #66
alexsorockin
Старший Пользователь
 
Регистрация: 12.07.2008
Возраст: 40
Город: Рязань
Регион: 62
Машина: ROVER 416
Сообщений: 172
alexsorockin is on a distinguished road
По умолчанию

назначаемые действия:

кратковременное нажатие:
OFF
X1 (SEL)
X2 (MODE)
X3 (DSPL)
ATT
NEXT
PREV
VOLU
VOLD
SOURCE
суперкратковременное нажатие SHIFT (100мс)
SHIFT+OFF
SHIFT+X1 (SEL)
SHIFT+X2 (MODE)
SHIFT+X3 (DSPL)
SHIFT+ATT
SHIFT+NEXT
SHIFT+PREV
SHIFT+SOURCE

нажатие с задержкой 1с:
OFF
X1 (SEL)
X2 (MODE)
X3 (DSPL)
ATT
NEXT
PREV
VOLU
VOLD
SOURCE
суперзадержка нажатия SHIFT (2,5 с)
SHIFT+OFF
SHIFT+X1 (SEL)
SHIFT+X2 (MODE)
SHIFT+X3 (DSPL)
SHIFT+ATT
SHIFT+NEXT
SHIFT+PREV
SHIFT+SOURCE

итого: 38 действий

---
замечания:
подбирал резистор. получилось, что при одновременном нажатии SHIFT+X2 (MODE) изменялась не координата первой оси X, а координата Y.. При одномременном нажатии изменяются значения координат X и Z по отношению к нажатию без шифта... Может быть, надо было дальше подбирать резистор, но я остановился на этом...
alexsorockin вне форума   Ответить с цитированием
Старый 23.10.2008, 00:31   #67
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 = 2
Repeat_VolumeStep_Default = 2
Repeat_VolumeStep_Amplifier = 1.1
First_MouseStep = 1
Repeat_MouseStep_default = 2
Repeat_MouseStep_Amplifier = 1.2
sleepdelay_default = 50
sleepdelay := sleepdelay_default
time_from_pressing_delay = 30
joymodes = 2

joyx_default=100
joyy_default=100
joyz_default=100


; Значения кнопок БЕЗ ШИФТА
JKey_OFF_min = 3.6
JKey_OFF_max = 4.1

JKey_X1_min = 7.71
JKey_X1_max = 8.9

JKey_X2_min = 39.00
JKey_X2_max = 41.00

JKey_X3_min = 27.00
JKey_X3_max = 30.00

JKey_ATT_min = 6.15
JKey_ATT_max = 6.74

JKey_NEXT_min = 11.50
JKey_NEXT_max = 12.60

JKey_PREV_min = 9.0
JKey_PREV_max = 10.0

JKey_VOLU_min = 20.0
JKey_VOLU_max = 21.50

JKey_VOLD_min = 15.00
JKey_VOLD_max = 16.10

JKey_SOURCE_min = 4.25
JKey_SOURCE_max = 4.8

jKey_SHIFT_min=2
jKey_SHIFT_max=10


; Значения кнопок С ШИФТОМ
JKey_OFF_SHIFT_min = 7.0
JKey_OFF_SHIFT_max = 8.0

JKey_SHIFT_OFF_min = 6.34
JKey_SHIFT_OFF_max = 7.33

JKey_X1_SHIFT_min = 21.0
JKey_X1_SHIFT_max = 25.0

JKey_SHIFT_X1_min = 3.6
JKey_SHIFT_X1_max = 4.1

JKey_X2_SHIFT_min = 3.6 ;Y
JKey_X2_SHIFT_max = 4.1 ;Y

JKey_SHIFT_X2_min = 3.6
JKey_SHIFT_X2_max = 4.1

JKey_X3_SHIFT_min = 69.94
JKey_X3_SHIFT_max = 70.54

JKey_SHIFT_X3_min = 3.6
JKey_SHIFT_X3_max = 4.1

JKey_ATT_SHIFT_min = 17.0
JKey_ATT_SHIFT_max = 19.0

JKey_SHIFT_ATT_min = 3.6
JKey_SHIFT_ATT_max = 4.1

JKey_NEXT_SHIFT_min = 34.0
JKey_NEXT_SHIFT_max = 38.0

JKey_SHIFT_NEXT_min = 3.6
JKey_SHIFT_NEXT_max = 4.1

JKey_PREV_SHIFT_min = 27.0
JKey_PREV_SHIFT_max = 29.50

JKey_SHIFT_PREV_min = 3.6
JKey_SHIFT_PREV_max = 4.1

JKey_SOURCE_SHIFT_min = 11.50
JKey_SOURCE_SHIFT_max = 13.00

JKey_SHIFT_SOURCE_min = 4.2
JKey_SHIFT_SOURCE_max = 4.5



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



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

prev_joyx := joyx_default
prev_joyy := joyy_default
prev_joyz := joyz_default
timer = 0
joymode = 1
CoordMode, ToolTip

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

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


; Генерим нужные действия:
;
if (joyx=50) and (joyy=50) and (joyz=50)
{
goto, 1
}

if ((joyx=joyx_default) and (AxisX=1)) or ((joyy=joyy_default) and (AxisY=1)) or ((joyz=joyz_default) and (AxisZ=1))
{

res_button_released(joyx_prev, joyy_prev, joyz_prev, timer)
timer=0
if (joyx<>joyx_default)
{
AxisX=1
}
else
{
AxisX=0
}
if (joyy<>joyy_default)
{
AxisY=1
}
else
{
AxisY=0
}
if (joyz<>joyz_default)
{
AxisZ=1
}
else
{
AxisZ=0
}

}

if (joyx<>joyx_default) or (joyy<>joyy_default) or (joyz<>joyz_default)
{
if (joyx<>joyx_default)
{
AxisX=1
}
else
{
AxisX=0
}
if (joyy<>joyy_default)
{
AxisY=1
}
else
{
AxisY=0
}
if (joyz<>joyz_default)
{
AxisZ=1
}
else
{
AxisZ=0
}

timer := timer + 1
joyx_prev:=joyx
joyy_prev:=joyy
joyz_prev:=joyz
res_button_pressed(joyx, joyy, joyz, timer)
}
1:

;tooltip, %message%,0,0
Sleep, sleepdelay
}


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

if (joymode=1) ; режим 1
{
;обрабатываем задержку нажатия только одной кнопки SHIFT
if (time_from_pressing >= time_from_pressing_delay+30) and (jx = joyx_default) and (jy = joyy_default) and (jz <> joyz_default)
{
;подаём звук
if (time_from_pressing = time_from_pressing_delay+30)
{
SoundPlay, beep.wav
}
message=удержание SHIFT
}


;обрабатываем задержку нажатия любой другой кнопки, кроме SHIFT
if (time_from_pressing >= time_from_pressing_delay) and (jz = joyz_default)
{
;подаём звук
if (time_from_pressing = time_from_pressing_delay)
{
SoundPlay, beep.wav
}

;обрабатываем кнопки, кроме SHIFT
; JKey_OFF
If (jx >= JKey_OFF_min) and (jx <= JKey_OFF_max)
{
message=удержание OFF
}

; JKey_X1
If (jx >= JKey_X1_min) and (jx <= JKey_X1_max)
{
message=удержание X1
}

; JKey_X2
If (jx >= JKey_X2_min) and (jx <= JKey_X2_max)
{
message=удержание X2
}

; JKey_X3
If (jx >= JKey_X3_min) and (jx <= JKey_X3_max)
{
message=удержание X3
}

; JKey_ATT
If (jx >= JKey_ATT_min) and (jx <= JKey_ATT_max)
{
message=удержание ATT - выключаем/включаем микрофон
If (time_from_pressing = time_from_pressing_delay)
{
SoundSet, +1, microphone, mute, 2
}

}

; JKey_NEXT
If (jx >= JKey_NEXT_min) and (jx <= JKey_NEXT_max)
{
message=удержание NEXT
}

; JKey_PREV
If (jx >= JKey_PREV_min) and (jx <= JKey_PREV_max)
{
message=удержание PREV
}

; JKey_VOLU
If (jx >= JKey_VOLU_min) and (jx <= JKey_VOLU_max)
{
message=удержание VOLU
Repeat_VolumeStep:=Repeat_VolumeStep_Amplifier*Rep eat_VolumeStep
SoundGet, master_volume
master_volume:=master_volume+Repeat_VolumeStep
SoundSet, master_volume
}

; JKey_VOLD
If (jx >= JKey_VOLD_min) and (jx <= JKey_VOLD_max)
{
message=удержание VOLD
Repeat_VolumeStep:=Repeat_VolumeStep_Amplifier*Rep eat_VolumeStep
SoundGet, master_volume
master_volume:=master_volume-Repeat_VolumeStep
SoundSet, master_volume
}

; JKey_SOURCE
If (jx >= JKey_SOURCE_min) and (jx <= JKey_SOURCE_max)
{
message=удержание SOURCE
}
}

;обрабатываем задержку нажатия любой кнопки в паре с SHIFT
if (time_from_pressing >= time_from_pressing_delay) and (jz <> joyz_default) and ((jx <> joyx_default) or (jy <> joyy_default))
{
;подаём звук
if (time_from_pressing = time_from_pressing_delay)
{
SoundPlay, beep.wav
}

; JKey_OFF+SHIFT
If (jx >= JKey_OFF_SHIFT_min) and (jx <= JKey_OFF_SHIFT_max) and (jz >= JKey_SHIFT_OFF_min) and (jz <= JKey_SHIFT_OFF_max)
{
message=удержание SHIFT+OFF
}

; JKey_X1+SHIFT
If (jx >= JKey_X1_SHIFT_min) and (jx <= JKey_X1_SHIFT_max) and (jz >= JKey_SHIFT_X1_min) and (jz <= JKey_SHIFT_X1_max)
{
message=удержание SHIFT+X1
}

; JKey_X2+SHIFT
If (jy >= JKey_X2_SHIFT_min) and (jy <= JKey_X2_SHIFT_max) and (jz >= JKey_SHIFT_X2_min) and (jz <= JKey_SHIFT_X2_max)
{
message=удержание SHIFT+X2
}

; JKey_X3+SHIFT
If (jx >= JKey_X3_SHIFT_min) and (jx <= JKey_X3_SHIFT_max) and (jz >= JKey_SHIFT_X3_min) and (jz <= JKey_SHIFT_X3_max)
{
message=удержание SHIFT+X3
}

; JKey_ATT+SHIFT
If (jx >= JKey_ATT_SHIFT_min) and (jx <= JKey_ATT_SHIFT_max) and (jz >= JKey_SHIFT_ATT_min) and (jz <= JKey_SHIFT_ATT_max)
{
message=удержание SHIFT+ATT
}

; JKey_NEXT+SHIFT
If (jx >= JKey_NEXT_SHIFT_min) and (jx <= JKey_NEXT_SHIFT_max) and (jz >= JKey_SHIFT_NEXT_min) and (jz <= JKey_SHIFT_NEXT_max)
{
message=удержание SHIFT+NEXT
}

; JKey_PREV+SHIFT
If (jx >= JKey_PREV_SHIFT_min) and (jx <= JKey_PREV_SHIFT_max) and (jz >= JKey_SHIFT_PREV_min) and (jz <= JKey_SHIFT_PREV_max)
{
message=удержание SHIFT+PREV
}

; JKey_SOURCE+SHIFT
If (jx >= JKey_SOURCE_SHIFT_min) and (jx <= JKey_SOURCE_SHIFT_max) and (jz >= JKey_SHIFT_SOURCE_min) and (jz <= JKey_SHIFT_SOURCE_max)
{
message=удержание SHIFT+SOURCE
}

}

}


}




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

if (joymode=1) ; режим 1
{

;обрабатываем одиночное нажатие SHIFT
if (time_from_pressing < time_from_pressing_delay-18) and (jx = joyx_default) and (jy = joyy_default) and (jz<>joyz_default)
{
;подаём звук
if (time_from_pressing = time_from_pressing_delay-18)
{
SoundPlay, beep.wav
}
message=кратковременно SHIFT
}


;обрабатываем одиночное нажатие без SHIFT
if (time_from_pressing < time_from_pressing_delay) and (jz = joyz_default)
{
SoundPlay, beep.wav

; JKey_OFF
If (jx >= JKey_OFF_min) and (jx <= JKey_OFF_max)
{
message=кратковременно OFF
}

; JKey_X1
If (jx >= JKey_X1_min) and (jx <= JKey_X1_max)
{
message=кратковременно X1
}

; JKey_X2
If (jx >= JKey_X2_min) and (jx <= JKey_X2_max)
{
message=кратковременно X2
}

; JKey_X3
If (jx >= JKey_X3_min) and (jx <= JKey_X3_max)
{
message=кратковременно X3
}

; JKey_ATT
If (jx >= JKey_ATT_min) and (jx <= JKey_ATT_max)
{
message=кратковременно ATT
}

; JKey_NEXT
If (jx >= JKey_NEXT_min) and (jx <= JKey_NEXT_max)
{
message=кратковременно NEXT
}

; JKey_PREV
If (jx >= JKey_PREV_min) and (jx <= JKey_PREV_max)
{
message=кратковременно PREV
}

; JKey_VOLU
If (jx >= JKey_VOLU_min) and (jx <= JKey_VOLU_max)
{
message=кратковременно VOLU
Repeat_VolumeStep:=Repeat_VolumeStep_Default
SoundGet, master_volume
master_volume:=master_volume+Repeat_VolumeStep
SoundSet, master_volume
}

; JKey_VOLD
If (jx >= JKey_VOLD_min) and (jx <= JKey_VOLD_max)
{
message=кратковременно VOLD
Repeat_VolumeStep:=Repeat_VolumeStep_Default
SoundGet, master_volume
master_volume:=master_volume-Repeat_VolumeStep
SoundSet, master_volume
}

; JKey_SOURCE
If (jx >= JKey_SOURCE_min) and (jx <= JKey_SOURCE_max)
{
message=кратковременно SOURCE
}
}

;обрабатываем одиночное нажатие любой кнопки в паре с SHIFT
if (time_from_pressing < time_from_pressing_delay) and (jz <> joyz_default) and ((jx <> joyx_default) or (jy <> joyy_default))
{

SoundPlay, beep.wav

; JKey_OFF+SHIFT
If (jx >= JKey_OFF_SHIFT_min) and (jx <= JKey_OFF_SHIFT_max) and (jz >= JKey_SHIFT_OFF_min) and (jz <= JKey_SHIFT_OFF_max)
{
message=кратковременно SHIFT+OFF
}

; JKey_X1+SHIFT
If (jx >= JKey_X1_SHIFT_min) and (jx <= JKey_X1_SHIFT_max) and (jz >= JKey_SHIFT_X1_min) and (jz <= JKey_SHIFT_X1_max)
{
message=кратковременно SHIFT+X1
}

; JKey_X2+SHIFT
If (jy >= JKey_X2_SHIFT_min) and (jy <= JKey_X2_SHIFT_max) and (jz >= JKey_SHIFT_X2_min) and (jz <= JKey_SHIFT_X2_max)
{
message=кратковременно SHIFT+X2
}

; JKey_X3+SHIFT
If (jx >= JKey_X3_SHIFT_min) and (jx <= JKey_X3_SHIFT_max) and (jz >= JKey_SHIFT_X3_min) and (jz <= JKey_SHIFT_X3_max)
{
message=кратковременно SHIFT+X3
}

; JKey_ATT+SHIFT
If (jx >= JKey_ATT_SHIFT_min) and (jx <= JKey_ATT_SHIFT_max) and (jz >= JKey_SHIFT_ATT_min) and (jz <= JKey_SHIFT_ATT_max)
{
message=кратковременно SHIFT+ATT
}

; JKey_NEXT+SHIFT
If (jx >= JKey_NEXT_SHIFT_min) and (jx <= JKey_NEXT_SHIFT_max) and (jz >= JKey_SHIFT_NEXT_min) and (jz <= JKey_SHIFT_NEXT_max)
{
message=кратковременно SHIFT+NEXT
}

; JKey_PREV+SHIFT
If (jx >= JKey_PREV_SHIFT_min) and (jx <= JKey_PREV_SHIFT_max) and (jz >= JKey_SHIFT_PREV_min) and (jz <= JKey_SHIFT_PREV_max)
{
message=кратковременно SHIFT+PREV
}

; JKey_SOURCE+SHIFT
If (jx >= JKey_SOURCE_SHIFT_min) and (jx <= JKey_SOURCE_SHIFT_max) and (jz >= JKey_SHIFT_SOURCE_min) and (jz <= JKey_SHIFT_SOURCE_max)
{
message=кратковременно SHIFT+SOURCE
}

}


;обрабатываем отпускание удержанной кнопки без SHIFT (для сброса некоторых переменных, нужных для режима удержания (например, увеличение громкости))
if (time_from_pressing > time_from_pressing_delay) and (jz = joyz_default)
{

; JKey_OFF
If (jx >= JKey_OFF_min) and (jx <= JKey_OFF_max)
{
}

; JKey_X1
If (jx >= JKey_X1_min) and (jx <= JKey_X1_max)
{
}

; JKey_X2
If (jx >= JKey_X2_min) and (jx <= JKey_X2_max)
{
}

; JKey_X3
If (jx >= JKey_X3_min) and (jx <= JKey_X3_max)
{
}

; JKey_ATT
If (jx >= JKey_ATT_min) and (jx <= JKey_ATT_max)
{
}

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

; JKey_PREV
If (jx >= JKey_PREV_min) and (jx <= JKey_PREV_max)
{
}

; JKey_VOLU
If (jx >= JKey_VOLU_min) and (jx <= JKey_VOLU_max)
{
Repeat_VolumeStep:=Repeat_VolumeStep_Default
}

; JKey_VOLD
If (jx >= JKey_VOLD_min) and (jx <= JKey_VOLD_max)
{
Repeat_VolumeStep:=Repeat_VolumeStep_Default
}

; JKey_SOURCE
If (jx >= JKey_SOURCE_min) and (jx <= JKey_SOURCE_max)
{
}
}


}
}


return
alexsorockin вне форума   Ответить с цитированием
Старый 20.11.2008, 22:20   #68
vad3
Пользователь
 
Регистрация: 29.03.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: 2008\Chevrolet Captiva
Сообщений: 89
vad3 is on a distinguished road
По умолчанию

у меня видимо аппаратная проблема на связке Sony RM-X4S + F16U
при выходе из спящего режима через раз не работает джойстик. в системе висит, но значения не изменяются... внешнее питание на USBхаб подаётся до включения компа...
как то раз удалось заставить работать удалением/определением в устройствах... может как то возможно заставить переинициировать?
__________________
Текущий проект
Мой ПРОШЛЫЙ проект: http://forum.pccar.ru/showthread.php?t=2295
Готовность: 80% (уже езжу)
[RR, монитор noname 10.4" touch, мать MSI 945GM3-F, Core 2 Duo E2160 1.8Ghz, усилитель DLS MA41, Sound Creative X-Fi mX Xtreme Gamer PCI, TV-Tuner GoTView PCI DVD2 Deluxe FM internal, БП SL]
vad3 вне форума   Ответить с цитированием
Старый 20.11.2008, 22:43   #69
SBorovkov
Старший Пользователь
 
Регистрация: 11.06.2008
Возраст: 46
Регион: 77, 97, 99, 177
Сообщений: 438
SBorovkov is on a distinguished road
По умолчанию

Цитата:
Сообщение от vad3 Посмотреть сообщение
у меня видимо аппаратная проблема на связке Sony RM-X4S + F16U
при выходе из спящего режима через раз не работает джойстик.
Проверь, нет ли в системе еще одного джойстика (к примеру, со звуковой карты)? Есть вероятность, что после спящего режима они меняются местами. Если есть, отключи лишний (в свойствах)
__________________
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 вне форума   Ответить с цитированием
Старый 22.11.2008, 01:22   #70
dr_cannabis
Пользователь
 
Регистрация: 13.04.2008
Город: москва
Регион: 77, 97, 99, 177
Машина: LANCER X
Сообщений: 49
dr_cannabis has a spectacular aura aboutdr_cannabis has a spectacular aura aboutdr_cannabis has a spectacular aura about
По умолчанию

Господа, объясните идиоту, уже 2 часа мучаюсь, но понять никак не могу! Как организована функция удержания кнопки, где и как считаеться время нажатия, если можно на примере с одной переменной!
dr_cannabis вне форума   Ответить с цитированием
Ответ


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

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

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



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


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