![]()  | 
	
| 		
			
			 | 
		#1 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 21.05.2015 
				
				Возраст: 65 
				
Город: Челябинск 
Регион: 74 
					Сообщений: 409
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Попала в руки панель, подобная этой с 4-мя боковыми кнопками. (Привет ymka-66  
		
	
		
		
			 ) Поскольку мой вопрос остался без ответа, пришлось делать своими силами. Изучив решение, попытался повторить его в виде Arduino-проекта, дополнительно задействовав боковые сенсорные кнопки. Начал с установки библиотеки и развертывания имеющегося в ней примера GT911_avr_touch.ino. Подключив панель и запустив программу, увидел, что при касании экрана координата X изменяется от 0 до 1023 при движении справа налево. При касании в области кнопок координата X меняется от 1024 до 1055. Координата Y меняется от 0 до 599 сверху вниз в зоне экрана и от 0 до 390 в зоне кнопок. С панелью оказалось все просто и понятно.С передачей информации в компьютер тоже нашлось подходящее решении в виде форка библиотеки NicoHood/HID, в который была включена поддержка сенсорных экранов. Первый вариант программы прилагается. Продолжение следует... Последний раз редактировалось admin; 09.10.2021 в 20:57.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#2 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 21.05.2015 
				
				Возраст: 65 
				
Город: Челябинск 
Регион: 74 
					Сообщений: 409
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Панель подключаем по схемам, соответствующим используемому устройству, и убеждаемся в наличии реакции на касание экрана и нажатие кнопок. 
		
	
		
		
			Далее нужно масштабировать значения координат в соответствии с описанием функции Код: 
	/** * Set contact status for a finger in the internal data structure. You must * call send manually after setting all fingers to flush them through USB. * * @param id Finger id. Must be in the range of 0-MAXFINGERS. Same finger * must have same id throughout contact. Allocations does not need * to be continuous. * @param x, y Coordinates. Range 0-10000. (0,0) is top-left on Windows. * @param pressure Contact pressure. Range 0-127. When set to 0, the touch * is reported as hovering (in-range) * @return 1 if success. 0 if id is out-of-bounds */ inline int setFinger(uint8_t id, uint16_t x, uint16_t y, uint8_t pressure=100); Остается разобраться с программированием кнопок. Подробная инструкция для андроида здесь. В моем примере кнопки кодируются в буквы a,b,c,d,e, которые затем в андроиде перекодируются в кнопки POWER, HOME, BACK, VOLUME_DOWN, VOLUME_UP с помощью файла Vendor_2341_Product_8036.kl Код: 
	key 30 POWER key 48 HOME key 46 BACK key 32 VOLUME_DOWN key 18 VOLUME_UP  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#3 | 
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 09.06.2015 
				
				Возраст: 38 
				
Город: Vrn 
Регион: 36 
Машина: Opel Astra H 
					Сообщений: 60
				 
				
				![]()  | 
	
	
	
	
		
			
			 Как работает по сравнению с Юриным контроллером? 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#4 | |
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 09.06.2015 
				
				Возраст: 38 
				
Город: Vrn 
Регион: 36 
Машина: Opel Astra H 
					Сообщений: 60
				 
				
				![]()  | 
	
	
	
	
		
			
			 Цитата: 
	
  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#5 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 21.05.2015 
				
				Возраст: 65 
				
Город: Челябинск 
Регион: 74 
					Сообщений: 409
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
	
		
			
			 По умолчанию в андроиде реакция на кнопки задается файлом /system/usr/keylayout/Generic.kl. В разных прошивках эти файлы могут отличаться. Поэтому надо или проверять работу кнопок для каждой конкретной прошивки, или создавать файл .kl для своего устройства. 
		
	
		
		
		
		
		
	
	Реагирует на боковые кнопки ![]()  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#6 | |
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 09.06.2015 
				
				Возраст: 38 
				
Город: Vrn 
Регион: 36 
Машина: Opel Astra H 
					Сообщений: 60
				 
				
				![]()  | 
	
	
	
	
		
			
			 Цитата: 
	
  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#7 | 
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 09.06.2015 
				
				Возраст: 38 
				
Город: Vrn 
Регион: 36 
Машина: Opel Astra H 
					Сообщений: 60
				 
				
				![]()  | 
	
	
	
	
		
			
			 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#8 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 21.05.2015 
				
				Возраст: 65 
				
Город: Челябинск 
Регион: 74 
					Сообщений: 409
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
	
		
			
			 delay использовать нельзя, это замедлит работу. В последнем скетче я использовал функции Keyboard.press и Keyboard.release. В этом случае скорость повторения определяется не устройством, а операционной системой. Если получается очень быстро, то можно посылать одиночные нажатия на кнопки через Keyboard.write, самостоятельно запрограммировав частоту повторения. 
		
	
		
		
		
		
		
	
	 | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#9 | |
| 
			
			
			
			 Пользователь 
			![]() Регистрация: 01.11.2017 
				
				Возраст: 51 
				
Город: Лобня 
Регион: 50, 90, 150 
Машина: BMW 530D Touring 
					Сообщений: 96
				 
				
				![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Цитата: 
	Подскажите, пожалуйста, что не так делаю? Пробую компилить оба скетча - и в обоих случаях получаю ошибку. Библиотеки скачал/подключил... Куда копать? Спасибо за ответ, с уважением  | 
|
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
| 		
			
			 | 
		#10 | 
| 
			
			
			
			 Старший Пользователь 
			![]() Регистрация: 21.05.2015 
				
				Возраст: 65 
				
Город: Челябинск 
Регион: 74 
					Сообщений: 409
				 
				
				![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()  | 
	
	
	
	
		
			
			 Добрый день, 
		
	
		
		
		
		
		
	
	судя по картинке, не подключена библиотека HID.  | 
| 
		 | 
	
	
	
		
		
		
		
			 
		
		
		
		
		
		
			
			
		
	 | 
![]()  | 
	
	
		
| Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
| Опции темы | Поиск в этой теме | 
		
  | 
	
		 |