Bagikan melalui


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.