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 belirtilmezse
0
USB (BUS_USB) veya Bluetooth (BUS_BLUETOOTH) veri yolu, aksi takdirde1
.
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.