移植Android的用户输入系统,主要的工作分成以下两个部分:
输入(input)驱动程序
用户空间中动态配置的kl和kcm文件
由于Android用户输入部分的“硬件抽象层”就是libui库中的EventHub,这部分是系统标准的部分。因此,在实现特定硬件平台的Android系统的时候,用户输入的硬件抽象层通常情况下不做改变。
EventHub使用Linux标准的input设备作为输入设备,其中又以实用Event设备居多。在这种情况下,为了实现Android系统的输入,也必须使用Linux标准input驱动程序作为标准的输入。
由于标准化程度比较高,实现用户输入系统,在用户空间一般不需要更改代码。唯一的情况是使用不同的kl和kcm文件,使用按键的布局和按键字符映射关系。