Array kemampuan tombol

Array kemampuan 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 memfilter informasi kemampuan tombol yang dikembalikannya oleh halaman penggunaan, ID penggunaan, dan pengumpulan tautan yang ditentukan penelepon.

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

  • Halaman penggunaan untuk rentang penggunaan atau penggunaan

  • ID laporan dari laporan yang berisi data tombol

  • ID penggunaan atau rentang penggunaan

  • Bendera yang menunjukkan apakah penggunaan adalah penggunaan alias

  • Kumpulan tautan yang berisi rentang penggunaan atau penggunaan

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

  • Indeks data yang ditetapkan pengurai HID ke rentang penggunaan atau 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 variabel. Penggunaan yang terkait dengan item array tidak dapat dialirkan. Rentang penggunaan tidak dapat dialirkan.

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

  • Jika jumlah penggunaan yang ditentukan untuk item variabel kurang dari jumlah tombol dalam item, array kemampuan hanya berisi satu struktur kemampuan yang menjelaskan satu penggunaan 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 diatur dan diatur dalam array kemampuan tombol:

Penggunaan tombol dalam item utama variabel

Setiap penggunaan atau rentang penggunaan yang ditentukan dalam deskriptor laporan dijelaskan oleh struktur kemampuannya sendiri dalam array kemampuan tombol.

Anggota Struktur kemampuan IsAlias digunakan untuk menentukan sekumpulan 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 n. Penggunaan yang disukai adalah penggunaan alias terakhir dalam urutan.

Aplikasi atau driver dapat menentukan penggunaan tombol mana yang dialirkan dengan memindai urutan tersebut.

Tabel berikut ini meringkas contoh untuk tiga penggunaan alias.

Urutan penggunaan alias dalam pendeskripsi laporan Urutan penggunaan dalam array kemampuan Nilai anggota IsAlias
penggunaan 1 penggunaan 3 TRUE
penggunaan 2 penggunaan 2 TRUE
penggunaan 3 penggunaan 1 FALSE

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

Penggunaan tombol dalam item utama array

Setiap penggunaan atau rentang penggunaan untuk item utama array tombol yang ditentukan dalam deskriptor laporan dijelaskan oleh struktur kemampuannya sendiri dalam array kemampuan 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 pendeskripsi laporan. Misalnya, tabel berikut menunjukkan korespondensi antara sekumpulan penggunaan, seperti yang ditentukan dalam deskriptor laporan, serta 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 ke n+4
rentang penggunaan 2 (dengan 2 penggunaan) penggunaan 1 n