2025 尋找 macOS HID 別再浪費時間 ! 用 Python 讓你秒列出所有裝置
macOS HID ! 你是否曾經想過要抓出你電腦上接了哪些裝置?像是鍵盤、滑鼠、遊戲手把,甚至是一些特殊用途的設備,例如條碼掃描器或 RFID 讀卡器,其實都屬於 HID(Human Interface Device)裝置。這篇文章將帶你一步一步地使用 Python,在 macOS 系統上列出這些 HID 裝置,並在 Visual Studio Code (VSCode) 環境中進行開發。

內容
什麼是 HID?
HID(Human Interface Device)是一種 USB 裝置類型,設計來與人互動。常見的 HID 裝置包括:
- 鍵盤
- 滑鼠
- 觸控筆/手寫板
- 遊戲控制器
- 某些感應器、RFID 閱讀器
這類裝置有個特性,就是不需要安裝額外驅動程式,系統本身就能辨識並支援它們。
為什麼用 Python?
Python 是一個簡潔、易學又有強大套件生態系的語言。使用 Python 操作 HID 裝置有以下優勢:
hidapi
套件支援跨平台(Windows、Linux、macOS)- 只需幾行程式碼就能快速讀取裝置清單
- 適合快速原型開發與自動化測試
- 如果你是開發者、Maker,甚至只是單純對硬體有興趣的人,Python 是一個非常棒的起點。
設定環境
- 安裝 Python 3.x or 更高。
- 終端或命令行工具並可執行 Python 腳本。
安裝 Python 套件與工具
在開始編程之前,請確保已完成以下準備工作:
brew install hidapi # Install the C-level hidapi library
pip install hidapi # Install the Python bindings
使用 VSCode 建立專案
- 建立資料夾,例如
hid_scanner
- 在 VSCode 中開啟該資料夾
- 新增
list_hid_devices.py
檔案
程式碼
以下是完整程式碼 :
import hid
def list_hid_devices():
devices = hid.enumerate()
if not devices:
print("No HID devices found.")
return
for idx, device in enumerate(devices):
print(f"Device {idx + 1}:")
print(f" Vendor ID: {hex(device['vendor_id'])}")
print(f" Product ID: {hex(device['product_id'])}")
print(f" Manufacturer: {device.get('manufacturer_string')}")
print(f" Product: {device.get('product_string')}")
print(f" Serial Number: {device.get('serial_number')}")
print(f" Path: {device['path'].decode('utf-8') if isinstance(device['path'], bytes) else device['path']}")
print(f" Interface Number: {device.get('interface_number')}")
print("-" * 40)
if __name__ == "__main__":
list_hid_devices()
程式碼解說
這段程式碼的重點在於:
- 使用
hid.enumerate()
取得所有連接的 HID 裝置清單 - 利用
for
迴圈逐一列出裝置資訊 vendor_id
和product_id
是用來辨識裝置的基本參數manufacturer_string
和product_string
通常包含裝置品牌與名稱path
是裝置的內部辨識路徑,與讀寫裝置時有關
這些資訊能幫你快速瞭解目前系統上有哪些 HID 裝置接入,並可作為後續通訊或控制的依據。
macOS HID 所有裝置
下面是在 macOS 上執行 list_hid_devices.py
的輸出可能的結果行:
Device 1:
Vendor ID : 0x05ac
Product ID : 0x0250
Manufacturer : Apple Inc.
Product : Apple Internal Keyboard / Trackpad
Serial Number : XYZ1234567
Path : IOService:/AppleACPIPlatformExpert/...
Interface Number: 0
----------------------------------------
Device 2:
Vendor ID : 0x046d
Product ID : 0xc534
Manufacturer : Logitech
Product : USB Receiver
Serial Number : None
Path : IOService:/AppleUSB20HubPort@1a000000/...
Interface Number: 1
----------------------------------------
Device 3:
Vendor ID : 0x1a2b
Product ID : 0x1f2e
Manufacturer : Generic Manufacturer
Product : RFID Reader
Serial Number : A1B2C3D4E5
Path : IOService:/AppleUSB20HubPort@1d000000/...
Interface Number: 2
----------------------------------------
結論
透過 Python 搭配 hidapi
,你可以很輕鬆地列出並檢查所有 HID 裝置,這對於開發硬體應用、除錯設備連接,甚至做自動化測試都有極大的幫助。尤其是在 macOS 上,不需要裝任何驅動,就可以跑起來。
下一步你可以嘗試進一步 與 HID 裝置溝通(讀寫資料),甚至用 GUI 建立簡單控制面板。