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