2010-08-20 133 views
15

我想知道是否有人在那裏寫過鍵盤設備驅動程序。我知道鍵盤中斷如何工作的基礎知識,但並不真正瞭解所有的細節。它困難嗎?一個人太難了?編寫鍵盤設備驅動程序

我問這是因爲最近我購買了蘋果鍵盤,而Windows驅動程序似乎沒有認出很多鍵。此外,如果你知道一個更簡單的解決方案來解決這個問題,而不是寫驅動程序,那麼我也會很感激。 (我已經試過SharpKeys,好像它是一個Windows驅動程序的問題,它無法識別某些掃描碼)

+4

+1爲願意開展真棒hackismo的壯舉。 – Mhmmd 2010-08-20 02:17:48

+0

您可以嘗試查看是否可以使用捆綁BootCamp的驅動程序。 – Bruno 2010-08-20 02:30:53

+0

我以爲BootCamp不是免費的嗎? – Albinoswordfish 2010-08-20 18:12:13

回答

11

這裏是你需要寫一個Windows設備驅動程序是什麼:

  • 的在WDF驅動程序框架的理解(KMDF)及其API的(我不推薦WDM)
  • 您可以用於內核調試的第二臺PC(或Hyper-V)。下載WinDbg,然後遠程調試第二臺機器。不要嘗試寫入設備驅動程序,而無法進行調試。
  • 完整的鍵盤軟件規格< - >硬件接口。也許專家可以以某種方式通過實驗推斷界面,但這可能需要很長時間。我想你會有更好的運氣在另一個平臺上逆向設計驅動程序。

如果你可以找到一個非常類似的驅動程序的源或在另一個平臺上的驅動程序,這可能成爲可行的,否則......

如果你有興趣的設備驅動程序,試圖通過編寫軟件啓動 - 唯一的驅動程序。它很可能只是一個「玩具」,但你可以在內核中做一些非常整齊的東西,所以也許它有一個玩具驅動器的價值。您可以使用IOCTL在用戶模式.exe和驅動程序之間進行通信。也許最終你可以將它更新到一個純軟件鍵盤模擬驅動程序,然後嘗試將它升級到你想要的實際鍵盤設備驅動程序。

發現了一個大約只有軟件的鍵盤驅動程序線程: http://www.osronline.com/showthread.cfm?link=119885

這也許是有用的:http://www.osronline.com/ddkx/intinput/i8042ref_9eb6.htm

更新:Hyper-V是適用於所有Windows 8的用戶,應在很大程度上消除了「第二PC「的要求。您可以在虛擬機上運行您的驅動程序,並將內核調試程序連接到它。