2011-01-23 80 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