Связь с внешней (аппаратной) кнопкой - PullRequest
2 голосов
/ 25 июня 2011

Я хотел бы создать внешнюю кнопку для использования с одним из моих приложений. Мой вопрос касается не самого аппаратного обеспечения (вот почему я его здесь задаю), а программного обеспечения / связи. Каков был бы лучший и самый простой способ сделать? Хорошая скорость важна, поэтому она не должна сильно отличаться от времени ожидания обычной клавиатуры.

Мне приходят в голову следующие решения:

  • пусть аппаратное обеспечение будет модифицированной клавиатурой, или, по крайней мере, оно должно распознаваться системой как клавиатура. Pro: дополнительная работа со стороны программного обеспечения не требуется. Con: что если мне нужно использовать обычную клавиатуру? Хорошо, не так уж плохо, с современными USB-клавиатурами ...
  • Связь через последовательный порт. Это был бы самый простой подход, или еще лучше, как это было бы 10 лет назад. Сейчас на большинстве компьютеров такого нет, разумеется, существует множество конвертеров последовательных USB.
  • Пусть это будет стандартное USB-устройство. Мне не нравится идея с установкой драйверов, необходимостью заботиться о разных ОС и т. Д.

Что лучше приходит на ум?

1 Ответ

1 голос
/ 26 июня 2011

Класс клавиатуры USB HID кажется мне лучшим. Вы можете использовать коды сканирования, отличные от стандартных клавиатур, или использовать их реже, чем те, которые используются для кнопок приложений на некоторых клавиатурах. (Обратите внимание, что текущие драйверы X.Org по-прежнему ограничены кодами сканирования <256.) </p>

Вероятно, нетрудно найти эталонную реализацию HID-клавиатуры для вашего устройства.

Последовательные порты редки на современных ПК и особенно ноутбуках; даже если системная плата имеет схему RS232, она не имеет внешнего разъема.

Написание специального драйвера для ПК означает гораздо больше работы и больше места для ошибок. Вы намного безопаснее, используя проверенный временем стандартный драйвер.

...