Giriş cihazı yapılandırma dosyaları

Giriş aygıtı yapılandırma dosyaları ( .idc dosyaları), giriş aygıtlarının davranışını etkileyen aygıta özgü yapılandırma özelliklerini içerir.

Giriş aygıtı yapılandırma dosyaları genellikle HID klavyeler ve fareler gibi standart çevre birimleri için gerekli değildir, çünkü varsayılan sistem davranışı genellikle bunların kutudan çıktığı gibi çalışmasını sağlar. Öte yandan, yerleşik gömülü aygıtlar, özellikle de dokunmatik ekranlar, davranışlarının belirlenmesi için neredeyse her zaman giriş aygıtı yapılandırma dosyalarına ihtiyaç duyar.

Gerekçe

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

Örneğin, bir giriş cihazı EV_REL olay tipini ve REL_X ve REL_Y kodlarının yanı sıra EV_KEY olay tipini ve BTN_MOUSE da destekliyorsa, Android giriş cihazını fare olarak sınıflandırır. Bir farenin varsayılan davranışı, farenin hareketlerini izleyen ve fareye tıklandığında dokunmaları simüle eden bir ekran imleci sunmaktır. Fare farklı şekilde yapılandırılabilse de, standart fare çevre birimleri için varsayılan davranış genellikle yeterlidir.

Bazı giriş cihazı sınıfları daha belirsizdir. Örneğin, çoklu dokunmatik ekranlar ve dokunmatik yüzeyler en azından EV_ABS olay türünü ve ABS_MT_POSITION_X ve ABS_MT_POSITION_Y kodlarını destekler. Ancak bu cihazların kullanım amaçları oldukça farklıdır ve her zaman otomatik olarak belirlenemeyebilir. Ayrıca dokunmatik cihazların bildirdiği basınç ve boyut bilgilerinin anlamlandırılması için ek bilgilere ihtiyaç duyulmaktadır. Bu nedenle dokunmatik cihazlar, özellikle de yerleşik dokunmatik ekranlar genellikle IDC dosyalarına ihtiyaç duyar.

Konum

Giriş cihazı yapılandırma dosyaları, USB satıcısına, ürün (ve isteğe bağlı olarak sürüm) kimliğine veya giriş cihazı adına göre bulunur.

Aşağıdaki yollara sırasıyla başvurulur.

  • /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

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

Sözdizimi

Giriş cihazı konfigürasyon dosyası, özellik atamaları ve yorumlardan oluşan düz metin dosyasıdır.

Özellikler

Özellik atamalarının her biri bir özellik adından, bir = , bir özellik değerinden ve yeni bir satırdan oluşur. Bunun gibi:

property = value

Özellik adları boş olmayan değişmez metin tanımlayıcılardır. Boşluk içermemelidirler. Giriş sisteminin her bileşeni, işlevini yapılandırmak için kullanılan bir dizi özelliği tanımlar.

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

Özellik 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 eder. Bunun gibi:

# A comment!

Boş satırlar dikkate alınmaz.

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

Ortak özellikler

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

Her sınıf tarafından kullanılan özel özellikler hakkında bilgi için her giriş cihazı sınıfının belgelerine bakın.

device.internal

Tanım: device.internal = 0 | 1

Giriş cihazının harici olarak bağlanan (büyük olasılıkla çıkarılabilir) bir çevre birimi yerine dahili bir yerleşik bileşen olup olmadığını belirtir.

  • Değer 0 ise cihaz haricidir.

  • Değer 1 ise cihaz dahilidir.

  • Değer belirtilmezse, USB (BUS_USB) veya Bluetooth (BUS_BLUETOOTH) veri yolundaki tüm cihazlar için varsayılan değer 0 , aksi halde 1 .

Bu özellik, uyanma olaylarına ilişkin varsayılan ilke kararlarını belirler.

Dahili giriş aygıtları, anahtar düzeni dosyasında veya sabit kodlanmış bir ilke kuralında açıkça yapılandırılmadıkça genellikle ekranı uyku modundan uyandırmaz. Bu ayrım, telefonunuzu cebinizdeyken tuşlara basmanın ve dokunmanın sahte bir şekilde uyandırmasını önler. Genellikle yalnızca küçük bir avuç dolusu uyandırma anahtarı tanımlanır.

Tersine, harici giriş cihazları taşıma sırasında kapalı oldukları veya takılmadıkları varsayıldığından genellikle cihazı daha agresif bir şekilde uyandırır. Örneğin harici klavyede herhangi bir tuşa basmak, kullanıcının cihazın uyanmasını ve yanıt vermesini istediğinin iyi bir göstergesidir.

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

Doğrulama

Giriş aygıtı yapılandırma dosyalarınızı Anahtar Haritaları Doğrula aracını kullanarak doğruladığınızdan emin olun.

,

Giriş aygıtı yapılandırma dosyaları ( .idc dosyaları), giriş aygıtlarının davranışını etkileyen aygıta özgü yapılandırma özelliklerini içerir.

Giriş aygıtı yapılandırma dosyaları genellikle HID klavyeler ve fareler gibi standart çevre birimleri için gerekli değildir, çünkü varsayılan sistem davranışı genellikle bunların kutudan çıktığı gibi çalışmasını sağlar. Öte yandan, yerleşik gömülü aygıtlar, özellikle de dokunmatik ekranlar, davranışlarının belirlenmesi için neredeyse her zaman giriş aygıtı yapılandırma dosyalarına ihtiyaç duyar.

Gerekçe

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

Örneğin, bir giriş cihazı EV_REL olay tipini ve REL_X ve REL_Y kodlarının yanı sıra EV_KEY olay tipini ve BTN_MOUSE da destekliyorsa, Android giriş cihazını fare olarak sınıflandırır. Bir farenin varsayılan davranışı, farenin hareketlerini izleyen ve fareye tıklandığında dokunmaları simüle eden bir ekran imleci sunmaktır. Fare farklı şekilde yapılandırılabilse de, standart fare çevre birimleri için varsayılan davranış genellikle yeterlidir.

Bazı giriş cihazı sınıfları daha belirsizdir. Örneğin, çoklu dokunmatik ekranlar ve dokunmatik yüzeyler en azından EV_ABS olay türünü ve ABS_MT_POSITION_X ve ABS_MT_POSITION_Y kodlarını destekler. Ancak bu cihazların kullanım amaçları oldukça farklıdır ve her zaman otomatik olarak belirlenemeyebilir. Ayrıca dokunmatik cihazların bildirdiği basınç ve boyut bilgilerinin anlamlandırılması için ek bilgilere ihtiyaç duyulmaktadır. Bu nedenle dokunmatik cihazlar, özellikle de yerleşik dokunmatik ekranlar genellikle IDC dosyalarına ihtiyaç duyar.

Konum

Giriş cihazı yapılandırma dosyaları, USB satıcısına, ürün (ve isteğe bağlı olarak sürüm) kimliğine veya giriş cihazı adına göre bulunur.

Aşağıdaki yollara sırasıyla başvurulur.

  • /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

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

Sözdizimi

Giriş cihazı konfigürasyon dosyası, özellik atamaları ve yorumlardan oluşan düz metin dosyasıdır.

Özellikler

Özellik atamalarının her biri bir özellik adından, bir = , bir özellik değerinden ve yeni bir satırdan oluşur. Bunun gibi:

property = value

Özellik adları boş olmayan değişmez metin tanımlayıcılarıdır. Boşluk içermemelidirler. Giriş sisteminin her bileşeni, işlevini yapılandırmak için kullanılan bir dizi özelliği tanımlar.

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

Özellik 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 eder. Bunun gibi:

# A comment!

Boş satırlar dikkate alınmaz.

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

Ortak özellikler

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

Her sınıf tarafından kullanılan özel özellikler hakkında bilgi için her giriş cihazı sınıfının belgelerine bakın.

device.internal

Tanım: device.internal = 0 | 1

Giriş cihazının harici olarak bağlanan (büyük olasılıkla çıkarılabilir) bir çevre birimi yerine dahili bir yerleşik bileşen olup olmadığını belirtir.

  • Değer 0 ise cihaz haricidir.

  • Değer 1 ise cihaz dahilidir.

  • Değer belirtilmezse, USB (BUS_USB) veya Bluetooth (BUS_BLUETOOTH) veri yolundaki tüm cihazlar için varsayılan değer 0 , aksi halde 1 .

Bu özellik, uyanma olaylarına ilişkin varsayılan ilke kararlarını belirler.

Dahili giriş aygıtları, anahtar düzeni dosyasında veya sabit kodlanmış bir ilke kuralında açıkça yapılandırılmadıkça genellikle ekranı uyku modundan uyandırmaz. Bu ayrım, telefonunuzu cebinizdeyken tuşlara basmanın ve dokunmanın sahte bir şekilde uyandırmasını önler. Genellikle yalnızca küçük bir avuç dolusu uyandırma anahtarı tanımlanır.

Tersine, harici giriş cihazları taşıma sırasında kapalı oldukları veya takılmadıkları varsayıldığından genellikle cihazı daha agresif bir şekilde uyandırır. Örneğin harici klavyede herhangi bir tuşa basmak, kullanıcının cihazın uyanmasını ve yanıt vermesini istediğinin iyi bir göstergesidir.

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

Doğrulama

Giriş aygıtı yapılandırma dosyalarınızı Anahtar Haritaları Doğrula aracını kullanarak doğruladığınızdan emin olun.