Custom HotKey from the kernel ec.c
EC 的定义以及作用
EC与keyboard引用blog:http://blog.csdn.net/hgf1011/article/details/3727078
Keyboard是PC架构中的一个重要组成部分。在常见的PC系统中主板上都有一颗专用的8042接口芯片去处理(现在被集成进了SB中),8042控制keyboard的整个工作过程,
包括加电自检键盘扫描码的缓冲以及与chipset沟通。在NB上这部分工作都有EC负责,它有一个keyboard controller,它扮演8042相似的角色。NB都有一个内置Keyboard,
这个keyboard是由EC控制的。Keyboard和touchpad都是EC内置的一个部分,它们按照ps2协议工作,最终的数据通过EC送给host。键盘是一种矩阵结构,每一个键都有一个行地址和列地址,用户按下键以后,
EC获得该按键的matrix address,EC将该address转化为matrix value然后判断该键的类型是特殊功能键还是标准按键,然后采用不同的方法将matrix value转成Set2,
最后在转成Set1 value送给host,host收到就可以送给其它需要的程序了。
NB上有一些被称为Hot Key(热键)的东东,比如用户可以按Fn+F4/F5调整亮度等。这些是如何实现的呢?既然key board部分是由EC FW处理,那定制这些特殊功能键就不是什么难事了。
Fn没有scan code但是它有matrix address 所以EC收到该键按下后置一个flag