File konfigurasi perangkat masukan

File konfigurasi perangkat input (file .idc ) berisi properti konfigurasi khusus perangkat yang memengaruhi perilaku perangkat input.

File konfigurasi perangkat input biasanya tidak diperlukan untuk periferal standar seperti keyboard dan mouse HID karena perilaku sistem default biasanya memastikan bahwa file tersebut akan berfungsi dengan baik. Di sisi lain, perangkat tertanam, khususnya layar sentuh, hampir selalu memerlukan file konfigurasi perangkat masukan untuk menentukan perilakunya.

Alasan

Android secara otomatis mendeteksi dan mengonfigurasi sebagian besar kemampuan perangkat masukan berdasarkan jenis peristiwa dan properti yang dilaporkan oleh driver perangkat masukan kernel Linux terkait.

Misalnya, jika perangkat masukan mendukung jenis dan kode peristiwa EV_REL REL_X dan REL_Y serta jenis peristiwa EV_KEY dan BTN_MOUSE , maka Android akan mengklasifikasikan perangkat masukan tersebut sebagai mouse. Perilaku default mouse adalah menampilkan kursor di layar yang melacak pergerakan mouse dan menyimulasikan sentuhan saat mouse diklik. Meskipun mouse dapat dikonfigurasi secara berbeda, perilaku default biasanya cukup untuk periferal mouse standar.

Kelas perangkat input tertentu lebih ambigu. Misalnya, layar sentuh multi-sentuh dan bantalan sentuh mendukung jenis peristiwa EV_ABS dan minimal kode ABS_MT_POSITION_X dan ABS_MT_POSITION_Y . Namun, tujuan penggunaan perangkat ini sangat berbeda dan tidak selalu dapat ditentukan secara otomatis. Selain itu, informasi tambahan diperlukan untuk memahami informasi tekanan dan ukuran yang dilaporkan oleh perangkat sentuh. Oleh karena itu perangkat sentuh, terutama layar sentuh internal, biasanya memerlukan file IDC.

Lokasi

File konfigurasi perangkat input ditempatkan berdasarkan vendor USB, id produk (dan versi opsional), atau berdasarkan nama perangkat input.

Jalur berikut dikonsultasikan secara berurutan.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Saat membuat jalur file yang berisi nama perangkat, semua karakter dalam nama perangkat selain '0'-'9', 'a'-'z', 'A'-'Z', '-' atau '_' digantikan oleh '_'.

Sintaksis

File konfigurasi perangkat input adalah file teks biasa yang terdiri dari penetapan properti dan komentar.

Properti

Penetapan properti masing-masing terdiri dari nama properti, = , nilai properti, dan baris baru. Seperti ini:

property = value

Nama properti adalah pengidentifikasi teks literal yang tidak kosong. Mereka tidak boleh mengandung spasi. Setiap komponen sistem masukan mendefinisikan sekumpulan properti yang digunakan untuk mengonfigurasi fungsinya.

Nilai properti adalah string literal yang tidak kosong, bilangan bulat, atau angka floating point. Mereka tidak boleh mengandung spasi atau karakter khusus \ atau " .

Nama dan nilai properti peka huruf besar-kecil.

Komentar

Baris komentar dimulai dengan '#' dan berlanjut hingga akhir baris. Seperti ini:

# A comment!

Baris kosong diabaikan.

Contoh

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Properti umum

Properti berikut ini umum untuk semua kelas perangkat input.

Lihat dokumentasi setiap kelas perangkat input untuk informasi tentang properti khusus yang digunakan oleh setiap kelas.

device.internal

Definisi: device.internal = 0 | 1

Menentukan apakah perangkat masukan merupakan komponen bawaan internal dan bukan perangkat yang terpasang secara eksternal (kemungkinan besar dapat dilepas).

  • Jika nilainya 0 , perangkat tersebut eksternal.

  • Jika nilainya 1 , perangkat tersebut internal.

  • Jika nilai tidak ditentukan, nilai defaultnya adalah 0 untuk semua perangkat di bus USB (BUS_USB) atau Bluetooth (BUS_BLUETOOTH), sebaliknya 1 .

Properti ini menentukan keputusan kebijakan default terkait peristiwa bangun.

Perangkat input internal umumnya tidak membangunkan tampilan dari mode tidur kecuali dikonfigurasi secara eksplisit untuk melakukannya dalam file tata letak kunci atau dalam aturan kebijakan hardcode. Perbedaan ini mencegah penekanan dan sentuhan tombol membangunkan ponsel Anda secara palsu saat berada di saku. Biasanya hanya ada sedikit kunci bangun yang ditentukan.

Sebaliknya, perangkat input eksternal biasanya membangunkan perangkat dengan lebih agresif karena perangkat tersebut diasumsikan dimatikan atau tidak dicolokkan selama pengangkutan. Misalnya, menekan tombol apa saja pada keyboard eksternal merupakan indikator yang baik bahwa pengguna ingin perangkat aktif dan merespons.

Penting untuk memastikan bahwa nilai properti device.internal diatur dengan benar untuk semua perangkat input internal.

Validasi

Pastikan untuk memvalidasi file konfigurasi perangkat input Anda menggunakan alat Validasi Keymaps .

,

File konfigurasi perangkat input (file .idc ) berisi properti konfigurasi khusus perangkat yang memengaruhi perilaku perangkat input.

File konfigurasi perangkat input biasanya tidak diperlukan untuk periferal standar seperti keyboard dan mouse HID karena perilaku sistem default biasanya memastikan bahwa file tersebut akan berfungsi dengan baik. Di sisi lain, perangkat tertanam, khususnya layar sentuh, hampir selalu memerlukan file konfigurasi perangkat masukan untuk menentukan perilakunya.

Alasan

Android secara otomatis mendeteksi dan mengonfigurasi sebagian besar kemampuan perangkat masukan berdasarkan jenis peristiwa dan properti yang dilaporkan oleh driver perangkat masukan kernel Linux terkait.

Misalnya, jika perangkat masukan mendukung jenis dan kode peristiwa EV_REL REL_X dan REL_Y serta jenis peristiwa EV_KEY dan BTN_MOUSE , maka Android akan mengklasifikasikan perangkat masukan tersebut sebagai mouse. Perilaku default mouse adalah menampilkan kursor di layar yang melacak pergerakan mouse dan menyimulasikan sentuhan saat mouse diklik. Meskipun mouse dapat dikonfigurasi secara berbeda, perilaku default biasanya cukup untuk periferal mouse standar.

Kelas perangkat input tertentu lebih ambigu. Misalnya, layar sentuh multi-sentuh dan bantalan sentuh mendukung jenis peristiwa EV_ABS dan minimal kode ABS_MT_POSITION_X dan ABS_MT_POSITION_Y . Namun, tujuan penggunaan perangkat ini sangat berbeda dan tidak selalu dapat ditentukan secara otomatis. Selain itu, informasi tambahan diperlukan untuk memahami informasi tekanan dan ukuran yang dilaporkan oleh perangkat sentuh. Oleh karena itu perangkat sentuh, terutama layar sentuh internal, biasanya memerlukan file IDC.

Lokasi

File konfigurasi perangkat input ditempatkan berdasarkan vendor USB, id produk (dan versi opsional), atau berdasarkan nama perangkat input.

Jalur berikut dikonsultasikan secara berurutan.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Saat membuat jalur file yang berisi nama perangkat, semua karakter dalam nama perangkat selain '0'-'9', 'a'-'z', 'A'-'Z', '-' atau '_' digantikan oleh '_'.

Sintaksis

File konfigurasi perangkat input adalah file teks biasa yang terdiri dari penetapan properti dan komentar.

Properti

Penetapan properti masing-masing terdiri dari nama properti, = , nilai properti, dan baris baru. Seperti ini:

property = value

Nama properti adalah pengidentifikasi teks literal yang tidak kosong. Mereka tidak boleh mengandung spasi. Setiap komponen sistem masukan mendefinisikan sekumpulan properti yang digunakan untuk mengonfigurasi fungsinya.

Nilai properti adalah string literal yang tidak kosong, bilangan bulat, atau angka floating point. Mereka tidak boleh mengandung spasi atau karakter khusus \ atau " .

Nama dan nilai properti peka huruf besar-kecil.

Komentar

Baris komentar dimulai dengan '#' dan berlanjut hingga akhir baris. Seperti ini:

# A comment!

Baris kosong diabaikan.

Contoh

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Properti umum

Properti berikut ini umum untuk semua kelas perangkat input.

Lihat dokumentasi setiap kelas perangkat input untuk informasi tentang properti khusus yang digunakan oleh setiap kelas.

device.internal

Definisi: device.internal = 0 | 1

Menentukan apakah perangkat masukan merupakan komponen bawaan internal dan bukan perangkat yang terpasang secara eksternal (kemungkinan besar dapat dilepas).

  • Jika nilainya 0 , perangkat tersebut eksternal.

  • Jika nilainya 1 , perangkat tersebut internal.

  • Jika nilai tidak ditentukan, nilai defaultnya adalah 0 untuk semua perangkat di bus USB (BUS_USB) atau Bluetooth (BUS_BLUETOOTH), sebaliknya 1 .

Properti ini menentukan keputusan kebijakan default terkait peristiwa bangun.

Perangkat input internal umumnya tidak membangunkan tampilan dari mode tidur kecuali dikonfigurasi secara eksplisit untuk melakukannya dalam file tata letak kunci atau dalam aturan kebijakan hardcode. Perbedaan ini mencegah penekanan dan sentuhan tombol membangunkan ponsel Anda secara palsu saat berada di saku. Biasanya hanya ada sedikit kunci bangun yang ditentukan.

Sebaliknya, perangkat input eksternal biasanya membangunkan perangkat dengan lebih agresif karena perangkat tersebut diasumsikan dimatikan atau tidak dicolokkan selama pengangkutan. Misalnya, menekan tombol apa saja pada keyboard eksternal merupakan indikator yang baik bahwa pengguna ingin perangkat aktif dan merespons.

Penting untuk memastikan bahwa nilai properti device.internal diatur dengan benar untuk semua perangkat input internal.

Validasi

Pastikan untuk memvalidasi file konfigurasi perangkat input Anda menggunakan alat Validasi Keymaps .