Laporan input pengontrol radial Windows
Topik ini merinci laporan input HID yang digunakan untuk dukungan umpan balik haptik pengontrol radial di Windows 10, sistem operasi versi 1607 dan yang lebih baru.
Host menggunakan penggunaan berikut saat mengekstrak data dari laporan input:
Anggota | Deskripsi | Halaman | ID | Wajib/Opsional |
---|---|---|---|---|
Tombol | Status tombol yang terletak pada pengontrol radial | 0x09 | 0x01 | Wajib |
Dial | Rotasi relatif pengontrol radial | 0x01 | 0x37 | Wajib |
X | Koordinat X posisi kontak | 0x01 | 0x30 | Opsional |
Y | Koordinat posisi kontak Y | 0x01 | 0x31 | Opsional |
Lebar | Lebar kotak pembatas di sekitar kontak | 0x0D | 0x48 | Opsional |
Tinggi | Tinggi kotak pembatas di sekitar kontak | 0x0D | 0x49 | Opsional |
Penggunaan opsional yang wajib dan didukung Windows
Perangkat apa pun yang tidak melaporkan semua penggunaan wajib akan tidak berfungsi sebagai pengontrol radial Windows. Penggunaan wajib diberlakukan secara ketat oleh host Windows. Jika nilai maksimum logis belum dibatasi, nilai tersebut dapat dioptimalkan untuk mengurangi ukuran deskriptor.
Bagian berikut ini menyediakan detail selengkapnya tentang penggunaan opsional wajib dan yang didukung Windows yang disajikan dalam tabel di atas.
Tombol
Digunakan untuk menunjukkan kapan tombol utama pada perangkat pengontrol radial tertekan. Hal ini ditunjukkan oleh item utama dengan ukuran laporan 1 bit. Saat mengirimkan laporan input, bit harus diatur ketika tombol ini tertekan, dan dibersihkan saat tombol dilepaskan.
Dial
Digunakan untuk menunjukkan rotasi searah jarang pengontrol radial di sekitar sumbu utamanya sendiri. Saat mengirimkan laporan input, nilai yang dilaporkan harus menjadi besarnya rotasi relatif terhadap laporan sebelumnya. Nilai ini akan positif jika pengontrol radial diputar searah jarang, dan negatif jika pengontrol radial diputar ke arah berlawanan arah jaring jam.
Rentang fisik dan rentang logis harus ditentukan. Derajat atau radian dapat digunakan untuk rentang fisik. Dalam kedua kasus, rentang logis harus cukup besar untuk melaporkan nilai yang akurat ke setidaknya satu tempat desimal.
X/Y
X dan Y melaporkan koordinat kontak pengontrol radial di layar. Koordinat ini mewakili pusat kontak yang relatif terhadap tampilan.
Perangkat yang melaporkan X dan Y juga harus melaporkan penggunaan Lebar atau Tinggi. Host menggunakan koordinat yang dilaporkan untuk membangun persegi panjang pembatas di sekitar kontak.
Item global berikut harus ditentukan untuk penggunaan X dan Y:
- Minimum logika
- Maksimum logika
- Minimum fisik
- Maksimum fisik
- Unit
- Eksponen unit
Rentang fisik untuk perangkat dan unit harus dilaporkan secara akurat. Jika informasi tidak akurat, perangkat tidak akan berfungsi dengan benar. Perangkat juga harus melaporkan data dalam rentang logis yang ditentukan dalam deskriptor laporan.
X dan Y dapat memberikan nilai NULL ke sistem, menyiratkan perangkat saat ini tidak memiliki posisi relatif terhadap tampilan, dengan memberikan nilai di luar rentang logis yang dilaporkan dan menambahkan Dukungan Null ke laporan input penggunaan (Bit 6 {Tidak Ada posisi Null (0) | Status null(1)}).
Lebar dan tinggi
Penggunaan lebar dan tinggi mewakili lebar dan tinggi kotak pembatas di sekitar kontak pengontrol radial. Lebar dan tinggi harus didefinisikan sebagai konstanta dalam deskriptor laporan.
Perangkat pengontrol radial Windows diasumsikan melingkar oleh sistem. Karena itu, tidak diperlukan untuk melaporkan lebar dan tinggi untuk kontak di layar. Jika tinggi atau lebar didukung, batas kontak akan ditafsirkan oleh sistem dengan benar. Windows tidak menyediakan dukungan untuk perangkat pengontrol radial dengan nilai yang berbeda untuk lebar dan tinggi.