2011-01-23 3 views
5

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

Цель состоит в том, чтобы иметь панель физической кнопки, которая при нажатии будет выполнять определенные задачи в программном обеспечении. Прерывание (из-за отсутствия лучшего слова) должно быть как можно меньше латентности.

То, что я посмотрел на до сих пор:

  • Arduino: Используйте платы Arduino, который подключается через порт RS232 и вручную сделать пайку необходимой для подключения кнопки из RadioShack к нему. (Слишком много аппаратных работ для моей доступности навыков/времени)
  • Приложение для Android: ну не поистине жесткая кнопка для клика, но это аппаратное обеспечение. Приложение Android будет связываться с моим компьютером через Bluetooth. (Я сомневаюсь, что латентность хорошая. Но я хотел бы, чтобы меня не доказали.)

Многоплатформенное решение очень ценится.

  • Целевые платформы: 64-разрядные Linux и для Windows (в таком порядке)
  • Язык: C++

Любая идея, какой тип подключения/устройства следует изучить, чтобы достичь этого?

ответ

3

Вы можете использовать набор драйверов устройств DEV написать Connectivity hardware interrupt handling object

мудрым - самый простой способ это parrallel порт - в идеале настоящего один на карте не адаптер USB, в противном случае somethign подобен Arduino говорить с PC как последовательный порт по USB-каналу проще всего.

Редактировать - для 50 кнопок вам понадобится какая-то обработка клавиатуры, а также ссылка на ПК. Пойдите для ardunio. Существует демонстрационное приложение для считывания значений с USB-кабеля Arduino в качестве последовательного порта/

1

Как насчет этого?

http://www.orin.com/access/swifty/

Teeny размер крохотный. Огромные возможности. Swifty - это быстрый интерфейс USB-переключателя в чрезвычайно компактном дизайне. Работая с двумя проводными коммутаторами или тремя беспроводными через Beam ™, эта электростанция размером с пинту может выводить щелчки мыши, кнопки джойстика или функции клавиатуры.

Или даже настройте старую последовательную или USB-мышь, если ваша установка в противном случае не использует ее. Или, может быть, даже если это произойдет :)

+0

Похоже на перспективное решение. Из деталей, похоже, эмулируется щелчок клавиатуры (я надеюсь, что комбо-клик разрешен). Но я получу ~ 50 кнопок. Это займет много ключевых привязок. –

+0

Звучит так, как будто вам нужна специальная клавиатура :) Возможно, лучшим вариантом будет USB-плата ввода-вывода. – hplbsh

Смежные вопросы