Создание драйвера сенсорного экрана для OS X: с чего начать?

Итак, я недавно купил сенсорный экран Acer T232HL. экранный дисплей для подключения к моему Macbook Pro в качестве дополнительного монитора. Чтобы дать вам представление, вот мои настройки.

OS X никоим образом не поддерживает этот монитор, поэтому, как вы можете видеть на снимке экрана, я на самом деле запускаю Windows 8 через VMware, которая идеально проксирует USB-соединение с Windows, где поддерживаются сенсорные события. Но очевидно, что это не идеально.

Существует как минимум один сторонний драйвер для OS X, который выглядел многообещающе, но это не так. поддерживать мультитач с этого устройства дорого, и, как правило, было сложно заставить его работать в той небольшой степени, в какой это было. Есть также mt4j, но лучшее, что я мог сказать после запуска их примеров, это вообще не поддерживает это устройство.

Итак, вот мой вопрос: что именно мне нужно, если я хочу написать драйвер для этой штуки? В основном я веб-разработчик с многолетним опытом работы с Ruby, Objective-C (и немного C), Javascript и т. д. Я никогда не занимался аппаратным программированием, поэтому на первый взгляд это кажется интересным, но пугающим. вызов.

Я знаю, что на каком-то уровне мне нужно читать данные с USB. Я знаю, что это, вероятно, будет означать попытку реконструировать любой протокол, который они используют для событий касания (возможно ли, что это будет полностью индивидуально?). Однако я понятия не имею, с чего начать - будет ли это расширение ядра? На С, я полагаю? Хотелось бы получить обзор высокого уровня движущихся частей, задействованных здесь.

В конечном счете, я хочу использовать сенсорный экран для управления специализированным веб-интерфейсом (работающим в Chrome), поэтому в идеале я мог бы проксировать сенсорные события прямо в Chrome без фактического перемещения ОС курсора мыши в место касания (так что пользовательский интерфейс должен вести себя просто как на iPad), но независимо от того, возможно ли это технически, я хотел бы начать с того, чтобы просто заставить что-то работать.


person Brent Dillingham    schedule 15.07.2013    source источник
comment
Вы когда-нибудь заставляли это работать? Похоже, один палец работает немного лучше на El Capitan (10.11.6)   -  person jgraup    schedule 22.08.2016


Ответы (1)


Вы захотите начать с от Apple. Документация по комплекту ввода/вывода. Вы можете надеяться, что сенсорный экран не полностью индивидуален, хотя должна быть какая-то часть, которая не является стандартной USB HID, иначе она уже будет работать. Если есть какие-либо драйверы Linux (или другие с открытым исходным кодом), у вас будет преимущество в том, что кто-то уже сделал часть обратного проектирования для вас. В качестве альтернативы I/O Kit вы также можете изучить libusb, который может заставить ваш мозг меньше болеть при начале. Однако, если вам в конечном итоге понадобится написать kext, это может вам уже не помочь.

Что касается некоторых ваших конкретных вопросов:

это будет расширение ядра?

Может быть, а может и нет. Я не особо разбираюсь в ситуации с драйверами для Mac OS X, но много лет назад я написал некоторый полностью пользовательский USB-код для OS X. Может быть, вам так же повезет.

На С, я полагаю?

Наверное. Сам I/O Kit написан на подмножестве C++, поэтому вы, вероятно, можете использовать и его, если хотите.

возможно ли, что это будет полностью кастомно?

К сожалению, да, это возможно.

Удачи!

person Carl Norum    schedule 15.07.2013
comment
Идеальный ответ - теперь мне есть с чего начать. Спасибо, Карл! - person Brent Dillingham; 15.07.2013
comment
Вам повезло? Я не понимаю, почему OSX должен быть таким хлопотным, как я всегда думал, сенсорное указание использовало тот же протокол, что и мышь, и, таким образом, можно было просто подключить экран через USB и покончить с этим ... Я также хочу получить Acer T232HL для Mac Pro... Спасибо за любую помощь. - person Lawrence; 26.05.2015
comment
Ага: проверьте это: как я и думал: amazon.com/support-win-Mac-VM-Mac-win-8-1/forum/Fx1MMROB4KNSDC1/ - person Lawrence; 26.05.2015