Mengembangkan driver perangkat Windows untuk Perangkat Antarmuka Manusia (HID)
Pelajari cara mengembangkan driver perangkat Windows untuk Perangkat Antarmuka Manusia (HID). HID adalah definisi kelas perangkat untuk driver USB generik untuk mendukung perangkat HID seperti keyboard, tikus, pengontrol game, dan sebagainya. Sebelum HID, perangkat hanya dapat menggunakan protokol yang ditentukan secara ketat untuk tikus dan keyboard. Inovasi perangkat keras diperlukan baik kelebihan beban data dalam protokol yang ada atau membuat perangkat keras nonstandar dengan driver khususnya sendiri. HID menyediakan dukungan untuk perangkat mode boot sambil menambahkan dukungan untuk inovasi melalui antarmuka yang dapat diperluas, terstandarisasi, dan mudah diprogram.
Perangkat HID mencakup tampilan alfanumerik, pembaca kode batang, speaker, headset, tampilan tambahan, sensor, dan banyak lainnya. Vendor perangkat keras juga menggunakan HID untuk perangkat miliknya.
HID dimulai dengan USB tetapi dirancang untuk menjadi bus-agnostik. Ini dirancang untuk latensi rendah, perangkat bandwidth rendah tetapi dengan fleksibilitas untuk menentukan laju dalam transportasi yang mendasar. USB-IF meratifikasi spesifikasi untuk HID melalui USB pada tahun 1996. Dukungan untuk HID melalui transportasi lain segera diikuti. Detail tentang transportasi yang saat ini didukung dapat ditemukan di Transportasi HID yang Didukung di Windows. Transportasi khusus vendor juga diizinkan melalui pengemudi transportasi kustom.
Konsep HID
HID terdiri dari dua konsep dasar, deskriptor laporan, dan laporan. Laporan adalah data aktual yang ditukar antara perangkat dan klien perangkat lunak. Deskriptor laporan menjelaskan format dan artinya data yang didukung perangkat.
Laporan
Aplikasi dan perangkat HID bertukar data melalui laporan. Ada tiga jenis laporan:
Jenis laporan | Deskripsi |
---|---|
Laporan input | Data yang dikirim dari perangkat HID ke aplikasi, biasanya ketika status kontrol berubah. |
Laporan output | Data yang dikirim dari aplikasi ke perangkat HID, misalnya ke LED pada keyboard. |
Laporan fitur | Data yang dapat dibaca dan ditulis secara manual, dan biasanya terkait dengan informasi konfigurasi. |
Setiap koleksi tingkat atas yang ditentukan dalam deskriptor laporan dapat berisi nol atau lebih laporan dari setiap jenis.
Tabel penggunaan
Grup kerja USB-IF menerbitkan tabel penggunaan HID yang merupakan bagian dari deskriptor laporan yang menjelaskan perangkat HID apa yang diizinkan untuk dilakukan. Tabel penggunaan HID ini berisi daftar dengan deskripsi Penggunaan yang menjelaskan arti yang dimaksudkan dan penggunaan item tertentu dalam pendeskripsi laporan. Misalnya, penggunaan didefinisikan untuk tombol kiri mouse. Deskriptor laporan dapat menentukan di mana dalam laporan aplikasi dapat menemukan status tombol kiri mouse saat ini. Tabel penggunaan dipecah menjadi beberapa spasi nama, yang disebut halaman penggunaan. Setiap halaman penggunaan menjelaskan sekumpulan penggunaan terkait untuk membantu menata dokumen. Kombinasi penggunaan dan halaman penggunaan menentukan ID penggunaan yang secara unik mengidentifikasi penggunaan tertentu dalam tabel penggunaan.