3

Я довольно плохо знаком с сенсорными экранами. Я смотрю на Amazon на мультисенсорные мониторы, такие как HP 2310ti, и кажется, что все просто соглашаются, что Windows 7 может справиться с этим из коробки.

Как это работает? Я не могу найти никаких ресурсов, объясняющих, как ПК получает ввод с сенсорного экрана.

Нужно ли подключать ПК к монитору через USB или в монитор встроена технология беспроводной связи / Bluetooth, как в беспроводной клавиатуре / мыши? Как Linux обрабатывает такой монитор из коробки? Распознает ли он что-то вроде 2 подключенных устройств мыши? Я читал о нескольких проектах, пытающихся реализовать этот материал в Xorg / GTK, но в настоящее время он выглядит довольно экспериментальным (потому что по этой теме мало информации, если таковая имеется).

РЕДАКТИРОВАТЬ: теперь я купил Acer T231 в сочетании с неттопом Foxpoint nT330i. Первое, что нужно упомянуть, это то, что монитор подключен через USB к ПК, "сенсорное устройство" (например, монитор через usb) определяется ядром как устройство HID-USB. Я думаю, что для Linux ядро обнаруживает сенсорное устройство и Xorg/Gnome может его использовать.

Я попробовал Ubuntu Lucid с ядром 2.6.32, которое обнаружило устройство HID, но gnome не реагировал на прикосновения. Теперь я использую Ubuntu Natty Narwhal, которая из коробки работает одним касанием. Для запуска жестов из коробки также поставляется демон «Ginn», конфигурация которого находится в /etc/ginn/wishes.xml - взгляните на «man ginn». Привыкнув ко всем вещам, я бы сказал, что для работы мультитача нужно сделать следующее:

  1. получить хотя бы ядро 2.6.33 - natty narwhal использует 2.6.38, который работает довольно хорошо
  2. добавьте /usr /bin /ginn в качестве приложения для запуска gnome - кроме того, я использую gnome, а не Unity, возможно, единство работает из коробки для сложных задач
  3. Измените /etc/ginn/wishes.xml так, чтобы он соответствовал вашим потребностям - я думаю, что мне нужно изменить настройки, потому что у моего монитора проблемы с более чем двумя пальцами, поэтому не все жесты работают, и у меня также было несколько проблем с compiz, которые я тоже пробую бегать жестами

интересные ресурсы:

https://wiki.ubuntu.com/Multitouch/Ginn

http://www.youtube.com/watch?v=VnLdzXe8DeQ

4 ответа4

3

Я собираюсь дать вам быстрый ответ, потому что у меня не так много времени сегодня, но в основном сенсорные мониторы взаимодействуют с рабочим столом с другим протоколом связи. Тот, который используется в Windows 7, называется WM_TOUCH, который затем интерпретируется ОС: либо приложение может использовать мультитач-жест, в этом случае действие передается непосредственно в окно activ, либо приложение не может обработать событие касания, в котором в случае, если операционная система автоматически переводит его на язык мыши (например, нажатие для увеличения будет переведено в Ctrl + Scroll). Существуют и другие языки, такие как TUIO (наиболее часто используемые из-за кроссплатформенности) или сообщения на основе XML

С аппаратной точки зрения эти мониторы обычно используют USB для связи с базой ...

3

В конечном итоге ваш вопрос касается системы зрения, то есть базового аппаратного / программного обеспечения, которое генерирует и «видит» точку касания. По моему опыту, есть три основных подхода к сенсорному оборудованию: емкостный, реактивный и инфракрасный.

  1. Емкостное зависит от электрических импульсов, которые создают очень небольшие искажения на экране. Поскольку человеческое тело действует как проводник, когда мы касаемся такого экрана, мы можем создавать искажения. IPhone является примером емкостного сенсорного экрана. Вы также можете приобрести мультитач-накладки, которые прикреплены к вашему обычному монитору. Эти накладки подключаются к компьютеру через USB и поставляются с собственным драйвером.

  2. Резистивные экраны состоят из нескольких слоев, разделенных тонким пространством. Когда пользователь нажимает, создается точка контакта, где касаются экранов.

  3. ИК мультитач системам не обязательно нужен какой-то специальный тип экрана для работы Он использует комбинацию ИК-излучателей и ИК-камеры, чтобы увидеть точки касания. ИК-излучатели сконфигурированы так, чтобы обеспечивать равномерное распределение ИК-света по нижней части экрана. Когда пользователь касается экрана, ИК-свет отражается вниз, где он «виден» ИК-камерой. Камера отправляет это специальному программному обеспечению (например, CCV), которое регистрирует касание. Затем необходим драйвер для получения информации о точке касания из программного обеспечения и ее преобразования в событие касания / мыши для операционной системы.

Каждое решение требует как аппаратного компонента, так и программного обеспечения.

2

Я понятия не имею, как Linux справляется с этим, поэтому я расскажу о Windows.

Мультитач - это просто другой набор API-интерфейсов или новый набор команд, которые драйверы монитора отправляют и на которые реагируют приложения. Точно так же, как ваша мышь отправляет сообщение KeyPressDown, на которое отвечают приложения, ваш монитор отправляет сообщения, которые Windows интерпретирует как TOUCH, GESTURE и т.д. И т.д. Windows MultiTouch SDK и Microsoft Surface SDK - хорошие места для начала чтения. Это на самом деле не так уж и отличается от того, как ваша мышь взаимодействует с ОС.

Сложная часть заключается в написании заявления. Мультитач-приложения, которые я видел, имеют тенденцию быть слишком амбициозными, пытаясь сделать слишком много. Лучшие мультитач-приложения, которые я видел, находятся на Microsoft Surface. У компании друзей есть такая, и они пишут для нее разные вещи.

Когда их компания проводит туры, они всегда запускают эту игру на поверхности Microsoft. Вы можете играть как 12 игроков. У всех разный цвет, и вы получаете пушечные ядра, которые стоят в очереди с разными цветами. Вы используете быстрый удар, чтобы стрелять из пушки по соответствующему игроку.

Было восхитительно видеть, как двенадцать человек сгрудились вокруг этого стеклянного стола, размахивая руками и крича.

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

1

До недавнего времени я работал на производителя сенсорного экрана. Некоторые из наших продуктов сокращают расходы на оборудование благодаря наличию меньшего процессора, который просто отправлял необработанные данные по USB на ПК, затем драйвер Win7 интерпретировал данные и отправлял события мультитач в Windows.

Поскольку код драйвера содержит собственный IP-адрес, версия с открытым исходным кодом недоступна, поэтому эти сенсорные экраны не будут работать в Linux.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .