![]()  | 
	
| 		
			
			 | 
		#71 | |
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 11.06.2008 
				
				Возраст: 47 
				
Регион: 77, 97, 99, 177 
					Сообщений: 438
				 
				
				![]()  | 
	
	
	
	
		
			
			 Цитата: 
	
 Там цикл, который реагирует на любое изменение координат осей. Вот мой главный цикл Loop { ; Читаем состояние кнопок. Если кнопарь нажат, то переменная button(№кнопки)= D Loop, %joy_buttons% { GetKeyState, button%a_index%, %JoystickNumber%joy%a_index% } ; Читаем показания оси Х - по сути основных кнопок жостика GetKeyState, joyx, %JoystickNumber%JoyX GetKeyState, joyz, %JoystickNumber%joyZ ;ToolTip, %joyx% 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) } } else { if (joyx <> joyx_default) or (joyz<>joyz_default) { ; если ничего не изменилось и положение НЕ дефолтное, то увеличиваем таймер на 1 и вызываем обработчик нажатия. timer := timer + 1 res_button_pressed(prev_joyx, prev_joyz, timer) } } Sleep, 50 } 0. То есть систему включили, у нее все по дефолту, ничего не происходит. далее: 1. Нажали кнопку. Начал вызываться обработчик нажатия. У него есть параметр Timer, который последовательно увеличивается. Если Timer=0, то кнопку только что нажали 2. Кнопку отпустили (или нажали что-то другое) Вызвался обработчик отпускания с параметром Timer, соответствующим времени нажатия на кнопку. Затем см пункт 0 или 1. Теперь пишем обработчик для единственной кнопки res_button_pressed(jx, jz , time_from_pressing) { global ; чтобы иметь доступ к глобальным переменным if (jz = joyz_default) and (time_from_pressing = 0) ; то есть обрабатываем непосредственно нажатия, а не удерживания кнопок. If (jx <= JKey_VOLU_max) and (jx>= JKey_VOLU_min) and ((time_from_pressing/5) = round(time_from_pressing/5)) { SoundGet, master_volume if time_from_pressing = 0 { master_volume := master_volume*(1+(First_VolumeStep/100)) } else if time_from_pressing >= 15 { master_volume := master_volume*(1+(Repeat_VolumeStep/100)) } SoundSet, master_volume } } Тут смысл такой - если только что нажали - меняем громкость на First_VolumeStep, а если ужерживаем - меняем на Repeat_VolumeStep каждые 5 циклов вызова, но если время от нажатия не менее 15. Если же надо выполнять разные действия в зависимости от длительности - надо обрабатывать отпускание кнопки и по нему определять длинное или короткое нажатие, я чуть выше писал... зы. Скопируй отсюда текст и расставь сдвиги вправо, чтобы понимать какой if на что действует, иначе непонятно... Я вставлял tab, но форум их съел :-(. 
				__________________ 
		
		
		
		
	
	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  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#72 | 
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 13.04.2008 
				
				
				
Город: москва 
Регион: 77, 97, 99, 177 
Машина: LANCER X 
					Сообщений: 49
				 
				
				![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Спасибо, просто очень в неудобной для читания форме скрипт напечатан (по крайней мере для меня)сложно уловить начало и конец цикла я уже почти весь скрипт по if ам разложил, пока пост заметил! Респект вам ребята очень нужное дело сделали) 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#73 | 
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 26.09.2007 
				
				Возраст: 42 
				
Город: Челябинск 
Регион: 74 
Машина: Toyota Fielder NZ121G '04 
					Сообщений: 93
				 
				
				![]()  | 
	
	
	
	
		
			
			 А почему никто не использует другие кнопки F-16U? Там ведь еще 4 кнопки. Да, я понимаю что на SONY их не повесишь, но можно же вывести еще 4 кнопки, для спец нужд. Кто что думает по этому поводу? 
		
	
		
		
		
		
		
		
			Последний раз редактировалось KilleRMill; 26.01.2009 в 20:46.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#74 | 
| 
			
			
			
			 Новый Пользователь 
			![]() Регистрация: 13.11.2008 
				
				Возраст: 42 
				
Регион: Украина 
					Сообщений: 15
				 
				
				![]()  | 
	
	
	
	
		
			
			 люди.... а подскажите pls 
		
	
		
		
		
		
		
	
	как сделать так чтобы распознать нажатие Button 1(Pin 2) на game порте?  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#75 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 12.07.2008 
				
				Возраст: 41 
				
Город: Рязань 
Регион: 62 
Машина: ROVER 416 
					Сообщений: 172
				 
				
				![]()  | 
	
	
	
	
		
			
			 Вот последняя версия для джойстика.  
		
	
		
		
			Функции: -Кратковременное нажатие каждой кнопки -Кратковременное нажатие пары кнопок -Долгое нажатие каждой кнопки -Долгое нажатие пары кнопок -Ini файл с настройками -32 горячие клавиши, задаются в Ini файле -прочие настройки  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#76 | 
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 13.04.2008 
				
				
				
Город: москва 
Регион: 77, 97, 99, 177 
Машина: LANCER X 
					Сообщений: 49
				 
				
				![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Еще 5 копеек к скрипту перешел на виндовс 7 и обнаружил что звук перестал регулироваться командами Soudset вот решения с форума 
		
	
		
		
		
		
		
	
	On Windows Vista, SoundSet and SoundGet affect only the script itself (this may be resolved in a future version). There are at least two ways to work around this: 1) In the properties dialog for the file "AutoHotkey.exe" (or a compiled script), change the compatibility setting to "Windows XP". 2) Have the script send volume-control keystrokes to change the master volume for the entire system. For example:Code (Copy): Send {Volume_Up} ; Raise the master volume by 1 interval (typically 5%). Send {Volume_Down 3} ; Lower the master volume by 3 intervals. Send {Volume_Mute} ; Mute/unmute the master volume  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#77 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 12.07.2008 
				
				Возраст: 41 
				
Город: Рязань 
Регион: 62 
Машина: ROVER 416 
					Сообщений: 172
				 
				
				![]()  | 
	
	
	
	
		
			
			 Скоро снова напишу программку на делфи - можно будет настроить: 
		
	
		
		
		
		
		
	
	- любую кнопку - любую комбинацию кнопок - любую последовательность отдельно нажатых кнопок - любую последовательность отдельно нажатых кнопок или комбинаций - долгое нажатие отдельной кнопки - долгое нажатие комбинации кнопок - завершение долгим нажатием отдельной кнопки после любой последовательности отдельно нажатых кнопок - завершение долгим нажатием комбинации кнопок после любой последовательности отдельно нажатых кнопок - завершение долгим нажатием комбинации кнопок после любой последовательности отдельно нажатых кнопок или комбинаций а также: - оконный интерфейс - назначение любых горячих клавиш - режим мыши и многое другое... пишите ваши предложения, всё равно заново писать придётся... Программа была практически готова, но флешка, с которой работал неожиданно сбойнула и всё пропало, не зарезервировал ))) быстро не обещаю - времени свободного практически нет, уже 2 месяца как компьютер домой принёс, поставил Win7, а езжу без музыки...  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#78 | |
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 25.02.2007 
				
				Возраст: 45 
				
Город: Ростов на Дону 
Регион: 61 
Машина: 99\VW\Sharan 2006\BMW 325Xi 
					Сообщений: 65
				 
				
				![]()  | 
	
	
	
	
		
			
			 Цитата: 
	
 
				__________________ 
		
		
		
		
	
	Корпус: G-Alantic GA620iBK, Проц:CPUC2D 2400/4M/800BX/T7700, (MSI) Fuzzy GM965  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#79 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 11.12.2008 
				
				Возраст: 46 
				
Город: Алматы 
Регион: Казахстан 
Машина: 96\Toyota\Ipsum 
					Сообщений: 187
				 
				
				![]()  | 
	
	
	
	
		
			
			 Народ привет. Извиняюсь за никрофильство  
		
	
		
		
		
		
			![]() Есть возможность прикупить сей девайс. Вы его юзали смотрю и удачно. Хотел поинтересоваться джойстик удобный или лучше кнопки на руле? 
				__________________ 
		
		
		
		
	
	Делаешь - не бойся. Боишься - не делай. Мой проект - http://pccar.ru/showthread.php?t=17537  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#80 | |
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 24.03.2010 
				
				Возраст: 50 
				
Город: СПб 
Регион: 78, 98 
Машина: Fiat Panda 
					Сообщений: 332
				 
				
				![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Цитата: 
	
 Возможность прикупить новый или бу? а то мне пришлось как запчасть его покупать  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
![]()  | 
	
	
		
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме | 
		
  | 
	
		 |