Bagikan melalui


Array kemampuan tombol

Array kapabilitas tombol berisi informasi tentang penggunaan tombol yang didukung oleh koleksi tingkat atas untuk jenis laporan HID tertentu. Informasi tentang kemampuan koleksi terkandung dalam struktur HIDP_CAPS .

Aplikasi mode pengguna atau driver mode kernel menggunakan salah satu rutinitas dukungan HIDClass berikut untuk mendapatkan informasi kemampuan tombol:

  • HidP_GetButtonCaps mengembalikan array kemampuan tombol yang menjelaskan semua penggunaan tombol yang terkandung dalam jenis laporan tertentu.

  • HidP_GetSpecificButtonCaps menyaring informasi kemampuan tombol yang dikembalikan berdasarkan halaman penggunaan, ID penggunaan, dan koleksi tautan yang ditentukan pemanggil.

Array kemampuan tombol berisi struktur HIDP_BUTTON_CAPS, yang masing-masing memuat informasi berikut tentang penggunaan HID atau rentang penggunaan:

  • Halaman tentang penggunaan atau rentang penggunaan

  • ID laporan yang berisi data tombol

  • ID penggunaan atau rentang penggunaan

  • Sebuah tanda yang menunjukkan apakah suatu penggunaan adalah penggunaan alias

  • Kumpulan tautan yang berisi rincian dan rentang penggunaan

  • Deskriptor string dan penunjuk yang terkait dengan penggunaan atau rentang penggunaan (lihat item Indeks Deskriptor dan item Indeks String)

  • Indeks data yang ditetapkan oleh parser HID ke penggunaan atau rentang penggunaan

Secara umum, kondisi berikut berlaku untuk semua penggunaan yang dijelaskan oleh array kemampuan tombol:

  • Setiap struktur kemampuan mewakili satu penggunaan atau rentang penggunaan yang terkait dengan item utama variabel atau item utama array.

  • Penggunaan alias dapat digunakan dengan item utama yang variabel. Penggunaan yang terkait dengan item array tidak dapat di-alias. Rentang penggunaan tidak dapat di-alias.

  • Pengurai HID hanya menggunakan jumlah penggunaan minimum yang diperlukan untuk menetapkan penggunaan ke setiap tombol. Pengurai menetapkan penggunaan dalam urutan ditentukan dalam deskriptor laporan. Penggunaan dalam deskriptor laporan yang tidak diperlukan, dibuang. Array fungsionalitas tombol tidak berisi informasi apa pun tentang penggunaan yang dibuang.

  • Jika jumlah penggunaan yang ditentukan untuk item variabel lebih sedikit dari jumlah tombol dalam item tersebut, array kapabilitas hanya berisi satu struktur kapabilitas yang menjelaskan penggunaan satu tombol (penggunaan terakhir yang ditentukan dalam deskriptor laporan untuk item utama variabel). Namun, lihat Array Nilai Penggunaan untuk informasi tentang nilai penggunaan yang memiliki jumlah laporan lebih besar dari satu.

  • Pengurai HID menetapkan indeks data unik untuk setiap penggunaan yang dijelaskan dalam array kemampuan.

Topik berikut membahas bagaimana struktur kemampuan diorganisasi dan disusun dalam array kemampuan tombol:

Penggunaan tombol dalam item utama variabel

Setiap penggunaan atau rentang penggunaan yang ditentukan dalam deskriptor laporan dijelaskan oleh struktur kapabilitas tersendiri dalam array kapabilitas tombol.

Anggota Struktur kemampuan IsAlias digunakan untuk menentukan satu set penggunaan alias n sebagai berikut:

  • IsAlias diatur ke TRUE dalam struktur kemampuan n-1 pertama yang ditambahkan ke array kemampuan. IsAlias diatur ke FALSE dalam struktur kemampuan ke-n. Penggunaan yang disukai adalah penggunaan alias terakhir dalam urutan.

Aplikasi atau driver dapat menentukan penggunaan tombol mana yang di-alias dengan memindai urutan tersebut.

Tabel berikut ini meringkas contoh untuk tiga penggunaan alias.

Urutan penggunaan alias dalam deskriptor laporan Urutan penggunaan dalam array kemampuan Nilai anggota IsAlias
penggunaan 1 penggunaan 3 BENAR
penggunaan 2 penggunaan 2 BENAR
penggunaan 3 penggunaan 1 FALSE

Untuk informasi tentang bagaimana penggunaan dan indeks data dirujuk silang, lihat Indeks Data.

Penggunaan tombol dalam elemen utama array

Setiap penggunaan atau rentang penggunaan untuk elemen utama pada array tombol yang ditentukan dalam deskriptor laporan dijelaskan oleh struktur kapabilitasnya sendiri dalam array kapabilitas tombol. Urutan di mana struktur kemampuan ditambahkan ke array kemampuan adalah kebalikan dari urutan penggunaan ditentukan untuk item utama.

Pengurai HID menetapkan indeks data untuk setiap penggunaan yang terkait dengan item array dalam urutan penggunaan ditentukan dalam deskriptor laporan. Misalnya, tabel berikut menunjukkan korespondensi antara sekumpulan penggunaan, seperti yang ditentukan dalam deskriptor laporan, dan penggunaan dan indeks data, seperti yang ditentukan dalam array kemampuan. (Dalam tabel ini, n adalah indeks data pertama yang ditetapkan pengurai ke penggunaan pertama yang terkait dengan item array.)

Urutan penggunaan dalam deskriptor laporan Urutan penggunaan dalam array kemampuan DataIndex atau dari DataIndexMin ke DataIndexMax
penggunaan 1 rentang penggunaan 2 dari n+7 hingga n+8
rentang penggunaan 1 (dengan 4 penggunaan) penggunaan 2 n+5
penggunaan 2 rentang penggunaan 1 dari n+1 hingga n+4
rentang penggunaan 2 (dengan 2 kali penggunaan) Penggunaan 1 n