有时输入设备使用默认键值并不能让人满意,我们想针对特殊输入设备作调整,但是又不想影响其它设备。这时就要为此设备单独设置一个配置文件。
输入设备加载时,需要载入配置文件(idc文件)。
文件名为:Vendor_XXX1_Product_XXX2_Version_XXX3.idc,其中XXX1为设备供应商编号,XXX2为产品编号,XXX3为版本号;
或者Vendor_XXX1_Product_XXX2.idc;
亦或者DeviceName.idc。
DeviceName为设备名。idc文件中需定义kl与kcm文件名,如果以上三个idc文件均没有,则加载默认的kc,kcm文件——Generic.kl,Generic.kcm。
idc等文件位置:\frameworks\base\data\keyboards\,例如,我使用的飞鼠供应商编号,产品编号,版本号,三个值分别为0c45, 2b02, 0110,所以我添加了配置了Vendor_0c45_Product_2b02_Version_0110.idc配置文件。至于那三个值,可从frameworks\base\services\inputEventHub.cpp中的loadConfigurationLocked方法的Device结构体中查询。