|
有KeyInputDevice等类来统治EventHub通报上来的音信,这些音信通过RawInputEvent和KeyEvent来外现。凡是环境下,对待按键事情,往后者的花样传送给行使法式,而触摸屏和轨迹球事情以前者的花样转换变成MotionEvent事情传送给行使法式;
通过重载onKeyDown()和onkeyUp()等手法授与KeyEvent(按键事情),通过重载onTouchEvent()和onTrackballEvent()等手法授与MotionEvent(运动事情);触摸屏上报的是坐标、按下、抬起等音信,比拟而言,按键统治的流程稍微庞杂少少,按键的外现从驱动层到Android的java层须要进程两次转化:
键扫描码Scancode进程一次转化后,变成按键的标签KeycodeLabel,是一个字符串的外现花样。
按键的标签KeycodeLabel进程转换后,再次变成整数型的按键码keycode。
字符串到整型的照射闭连,此处告终的任务是从keycodelable到keycode的转化;
界说KeyEvent类,此中界说是整型数字和KeycodeLabels.h内界说的整型相对应;动作平台的API供Java行使法式操纵;
竣工了键扫描码Scancode 到按键标签KeycodeLabel的照射,也即是上面提到的两次转化的第一次转化;
其余,由于Android一经界说了无缺的圭表按键,故凡是不须要为Android体系增加按键,只须要按照KL文献摆设按键即可。
|
|