Giriş cihazı yapılandırma dosyaları

Giriş cihazı yapılandırma dosyaları (.idc dosyaları), giriş cihazlarının davranışını etkileyen cihaza özgü yapılandırma özelliklerini içerir.

Varsayılan sistem davranışı genellikle bu cihazların kutudan çıkar çıkmaz çalışacağından, HID klavye ve fare gibi standart çevre birimleri için giriş cihazı yapılandırma dosyaları genellikle gerekli değildir. Diğer yandan yerleşik yerleşik cihazlar, özellikle de dokunmatik ekranlar, hemen hemen her zaman davranışlarını belirtmek için giriş cihazı yapılandırma dosyalarını gerektirir.

Gerekçe

Android, çoğu giriş cihazı özelliğini otomatik olarak algılar ve yapılandırır tarafından bildirilen etkinlik türlerine ve özelliklerine göre Linux çekirdek giriş cihazı sürücüsü.

Örneğin, bir giriş cihazı EV_REL etkinlik türünü ve REL_X ile REL_Y kodlarının yanı sıra EV_KEY etkinlik türünü ve BTN_MOUSE kodlarını destekliyorsa Android, giriş cihazını fare olarak sınıflandırır. Varsayılan davranış ekranda farenin hareketlerini izleyen bir imleç sunmaktır. ve fare tıklandığında dokunma hareketlerini simüle eder. Her ne kadar fare farklı bir şekilde yapılandırıldığında, varsayılan davranış genellikle standart fare çevre birimleri var.

Bazı giriş cihazı sınıfları daha belirsizdir. Örneğin, çoklu dokunma Dokunmatik ekranlar ve dokunmatik alanlar EV_ABS etkinlik türünü ve kodlarını destekler En az ABS_MT_POSITION_X ve ABS_MT_POSITION_Y. Ancak amaçlanan Bu cihazların kullanım alanları epey farklıdır ve her zaman tespit edilemez. otomatik olarak oluşturur. Ayrıca, Dokunmatik cihazlar tarafından bildirilen basınç ve boyut bilgileri. Bu nedenle, dokunmatik cihazların (özellikle yerleşik dokunmatik ekranların) genellikle IDC dosyalarına ihtiyacı vardır.

Konum

Giriş cihazı yapılandırma dosyaları USB tedarikçisi, ürün (ve isteğe bağlı olarak sürüm) kimliğini kullanarak veya giriş cihazı adıyla değiştirin.

Aşağıdaki yollar sırayla kontrol edilir.

  • /product/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system_ext/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /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
  • /product/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system_ext/usr/idc/Vendor_XXXX_Product_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
  • /product/usr/idc/device-name.idc
  • /system_ext/usr/idc/device-name.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

Cihaz adını içeren bir dosya yolu oluşturulurken cihaz adındaki "0"-"9", "a"-"z", "A"-"Z", "-" veya "_" dışındaki tüm karakterler "_" ile değiştirilir.

Sözdizimi

Giriş cihazı yapılandırma dosyası, ödevler ve yorumlar.

Özellikler

Mülk atamalarının her biri bir mülk adı, =, mülk değeri ve yeni bir satırdan oluşur. Örneğin:

property = value

Mülk adları, boş olmayan gerçek metin tanımlayıcılardır. Boşluk içermemelidir. Giriş sisteminin her bileşeni bir özellik kümesini tanımlar işlevleridir.

Özellik değerleri, boş olmayan dize değişmezleri, tam sayılar veya kayan noktalı sayılardır. Boşluk veya ayrılmış karakterler \ ya da " içermemelidir.

Mülk adları ve değerleri büyük/küçük harfe duyarlıdır.

Yorumlar

Yorum satırları "#" ile başlar ve satırın sonuna kadar devam edin. Örneğin:

# A comment!

Boş satırlar yoksayılır.

Örnek

# 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...

Yaygın özellikler

Aşağıdaki özellik tüm giriş cihazı sınıfları için ortaktır.

Bilgi için her giriş cihazı sınıfının dokümanlarına bakın: her sınıf tarafından kullanılan özel özellikler.

device.internal

Tanım: device.internal = 0 | 1

Giriş cihazının harici olarak takılı (büyük olasılıkla çıkarılabilir) çevre birimi.

  • Değer 0 ise cihaz haricidir.

  • Değer 1 ise cihaz dahilidir.

  • Değer belirtilmezse0 USB (BUS_USB) veya Bluetooth (BUS_BLUETOOTH) veri yolu, aksi takdirde 1.

Bu özellik, uyanma etkinlikleriyle ilgili varsayılan politika kararlarını belirler.

Dahili giriş cihazları, anahtar düzeni dosyasında veya kodlanmış bir politika kuralında açıkça yapılandırılmadığı sürece ekranı uyku modundan uyandırmaz. Bu ayrım, anahtarlara basılması ve dokunma işlemlerinin, cebinize yerleştirilmiş durumdayken telefonunuzu yanlışlıkla uyandırmasını önler. Genellikle yalnızca birkaç uyanma anahtarı tanımlanır.

Buna karşılık, harici giriş cihazları genellikle taşıma sırasında kapalı veya takılı olmadıkları varsayıldığı için cihazı daha agresif bir şekilde uyandırır. Örneğin, harici bir klavyede herhangi bir tuşa basılması, kullanıcının cihazın uyanıp yanıt vermesini istediğinin iyi bir göstergesidir.

device.internal mülkünün değerinin tüm dahili giriş cihazları için doğru şekilde ayarlandığından emin olmak önemlidir.

Doğrulama

Tuş Haritalarını Doğrulama aracını kullanarak giriş cihazı yapılandırma dosyalarınızı doğruladığınızdan emin olun.