8.3 模拟器中的实现 驱动程序

GoldFish虚拟处理器键盘输入部分的驱动程序是event驱动程序,在标准的路径中,相关文件如下所示:

drivers/input/keyboard/goldfish_events.c

这个驱动程序是一个标准的event驱动程序,在用户空间的设备节点为/dev/event/ event0,其核心的内容为:

events_interrupt实现的是按键事件的中断处理函数,当中断发生后,读取虚拟寄存器的内容,将信息上报。实际上,虚拟寄存器中的内容由模拟器根据主机环境键盘按下的情况得到。

è 8.3.2  用户空间的配置文件

在模拟器环境中,使用了默认的所有的KL和KCM文件,由于模拟器环境支持全键盘,因此基本上包含了大部分的功能。在模拟器环境中,实际上按键的扫描码对应的是桌面电脑的键盘(效果和鼠标点击模拟器的控制面板类似),键盘的某些按键按下后,转化为驱动程序中的扫描码,然后再由上层的用户空间处理。这个过程和实际系统中是类似的。显然,通过更改默认的KL文件,又可以更改实际按键的映射关系。

 

读书导航