大多數IBM(以及某些戴爾)筆記本電腦都有內置加速度計,可以在突然摔倒時停止任何移動部件,但我無法找到標準化的Windows API來訪問此數據。我假設每個製造商都會提供一個驅動程序來與傳感器連接。適用於筆記本電腦的加速計API
- 哪些流行的筆記本電腦品牌標配加速度計可從API訪問,哪些庫應該用於訪問數據?
- 是否存在API *來抽象不同製造商之間的差異?我知道Windows 7傳感器API,但我希望支持XP和更早版本。
大多數IBM(以及某些戴爾)筆記本電腦都有內置加速度計,可以在突然摔倒時停止任何移動部件,但我無法找到標準化的Windows API來訪問此數據。我假設每個製造商都會提供一個驅動程序來與傳感器連接。適用於筆記本電腦的加速計API
最有信譽的筆記本廠商有加速度計來停放硬盤驅動器的頭,如果筆記本意外掉落或突然被另一物體撞擊(即超過某一加速度閾值時)。例如,我的惠普擁有「HP 3D DriveGuard」。然而,這項技術是嵌入式的低級別,即使操作系統沒有加載,它似乎也能工作,所以我猜想它是在BIOS中。我猜想它只是暴露了一種ACPI方式來啓用或禁用此技術。因此,即使在使用標準化傳感器API的Windows 7上,它也不能像智能手機那樣用作標準加速計。也許將來如果市場需要它(但我不這麼認爲)。
這不適用於所有制造商,但經過大量搜索(我一直想要這個功能)後,我發現有人在惠普筆記本電腦加速度計wrote a driver wrapper。如果您的筆記本電腦支持HP 3d DriveGuard或HP ProtectSmart,則此驅動程序應讓加速度計顯示在Windows傳感器列表中。
測試了它在我的惠普筆記本電腦,它順利安裝。示例程序有效,但響應速度很慢。我認爲這對於高精度需求(例如遊戲)並不適用,但如果您只需要一些較慢的方向數據,則它可能會有效。
請注意,這是通過加速度計暴露到Windows傳感器API。傳感器API提供了訪問任何類型傳感器的標準方法,而不管實際安裝的硬件如何。有關於Windows Sensor Platform on MSDN的更多信息。
:(我還沒有找到一個通用的解決方案,但大多數提供商不公開此信息 – 2010-11-22 18:49:19