2013-03-12 33 views
0

首先,我正在構建一個簡單的遊戲手柄,我想知道是否有任何可以編程的通用驅動程序,我的意思是這樣,輸入通過遊戲手柄傳遞(按鈕,軸等)都內置在一個驅動程序中,並且一個驅動程序與許多系統兼容。通用輸入驅動程序

我到處搜索,但找不到解決方案的答案。我看到諸如Logitech和其他遊戲手柄的公司,每當我將遊戲手柄插入任何系統時,我該如何編程設備才能執行此操作?

- 編輯:

主機和我的設備之間的連接是通過藍牙。但我已經有了那部分照顧,數據傳輸成功了。困難的部分是建立驅動程序,將遊戲手柄的輸入提交給實際的遊戲。

+2

重新標記;我幾乎不相信ONE驅動程序與每個操作系統兼容。這只是不正確的... – 2013-03-12 10:42:31

+0

我認爲這些設備是純USB HID級設備,HID級驅動程序由操作系統本身提供。 – MSalters 2013-03-12 12:33:43

回答

2

驅動程序控制硬件和驅動程序是在操作系統級別編寫的,並處理操作系統處理硬件的特定方法。沒有通用的,跨平臺的方式來編寫驅動程序,因爲每個不同的操作系統在內核級別上的工作方式不同。

Windows驅動程序和Linux驅動程序以不同的方式寫入,因爲它們以不同的方式處理硬件。

你將不得不爲你想支持的每個操作系統編寫一個驅動程序。

+0

但是,我如何真正建立一個驅動程序來處理輸入並將其識別爲遊戲手柄輸入? – enginefree 2013-03-12 10:46:57

+0

取決於遊戲手柄。通用的通常就像鍵盤一樣工作,但我很肯定的說,微軟的XBox無線手柄沒有。 – slezica 2013-03-12 10:47:46

+0

司機是一個很大的主題,你應該看看WDF,並可能會得到一本書。 http://msdn.microsoft.com/en-gb/library/windows/hardware/gg463268.aspx – 2013-03-12 10:47:56

1

最好的方法應該是讓您的設備顯示爲Bluetooth Human Interface Device:我相信這就是主流商業設備的做法。

操作系統可以爲HID級設備提供通用驅動程序支持,這就是預先定義設備類的要點。

0

與Unix最初的建議一樣:如果您的設備與OS內置的塊或字符設備驅動程序代碼保持兼容,那麼您的設備將是「兼容的」。

相關問題