我正在寫一個程序在OS X中接收來自鼠標和觸摸板的點擊事件。當用戶點擊某處時,操作系統會發送設備ID(僅爲int),並將光標的位置發送到我的回調函數。我想知道點擊事件是來自鼠標還是觸摸板。那麼,如何從設備ID中知道設備的名稱?如何從OS X的設備ID中知道設備的名稱?
謝謝!
(我爲我的英語不好對不起。)
我正在寫一個程序在OS X中接收來自鼠標和觸摸板的點擊事件。當用戶點擊某處時,操作系統會發送設備ID(僅爲int),並將光標的位置發送到我的回調函數。我想知道點擊事件是來自鼠標還是觸摸板。那麼,如何從設備ID中知道設備的名稱?如何從OS X的設備ID中知道設備的名稱?
謝謝!
(我爲我的英語不好對不起。)
你可以看看IOKit Registry。
爲出發點:HID Explorer sample code
要檢查是否由於IOKit註冊表中存在您正在搜索的ID,您可以在名爲ioreg命令行實用程序的輸出用grep:
ioreg |grep 'Track'
連接到服務面在I/O註冊表中,然後使用帶有kIORegistryIterateRecursively()的IORegistryEntrySearchCFProperty()來搜索與您擁有的設備ID相匹配的設備ID。然後,您應該能夠找到設備在註冊表中列出的其他屬性。
IORegistry Explorer將幫助您瞭解註冊表的佈局。
我已將「iokit」標籤添加到您的問題中,因爲答案很可能與它有關。 – 2009-11-06 05:16:28