2011-01-23 122 views
5

我想要一个物理按钮(不是软件按钮),我将其放入自定义装备中。当我点击这个按钮时,我想在我的软件中收到一个信号,例如通过注册我的回调函数。低延迟捕获按钮单击

我们的目标是拥有一个物理按钮面板,当点击按钮将执行软件中的某些任务时。中断(缺少更好的字)应该尽可能低。

我已经看过了迄今:

  • 的Arduino:使用一个Arduino板,通过RS232连接,并手动进行必要的焊接钩从RadioShack的一个按钮即可。 (对于我的技能/时间可用性,太多的硬件工作)
  • Android应用程序:没有真正的硬按钮来点击,但它是一个硬件。 Android应用程序将通过蓝牙与我的电脑进行通信。 (我怀疑延迟是好的,但我很想证明是错的。)

一个跨平台的解决方案非常感谢。

  • 目标平台:64位Linux和 的Windows(按顺序)
  • 语言: C++

任何想法,我应该考虑什么类型的连接/设备来实现这一目标?

回答

3

您可以使用该设备的驱动程序开发工具包,以明智写hardware interrupt handling object

连接 - 最简单的方法是parrallel端口 - 最好的卡片不是一个USB适配器上一个真实的,否则somethign像一个Arduino交谈PC作为USB链路上的串口是最简单的。

编辑 - 对于50个按钮,您需要某种键盘矩阵处理以及与PC的链接。去找一个ardunio。有一个从Arduino的USB电缆读取值作为串行端口的演示应用程序/

1

这个怎么样?

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

蝇头纤细尺寸。巨大的可能性。 Swifty是一个非常紧凑设计的快速USB开关接口。使用最多两个有线交换机,或通过Beam™无线连接三个,这个小型厂房可以输出鼠标点击,操纵杆按钮或键盘功能。

甚至可以自定义旧的串口或USB鼠标,如果您的钻机不使用其他设备。或者,也许即使它:)

+0

看起来像一个有前途的解决方案。从细节上看,它似乎在模拟键盘点击(我希望能够点击组合键)。但我会得到〜50个按钮。这会占用很多关键绑定。 – 2011-01-23 00:57:36