zoukankan      html  css  js  c++  java
  • Android输入系统(3)——输入系统框架

    1.优秀文档

    android输入系统官方文档:http://source.android.com/devices/input/index.html 中文官方文档
    《深入理解Android 卷III》第五章 深入理解Android输入系统: http://blog.csdn.net/innost/article/details/47660387 主要讲EventHub
    图解Android - Android GUI 系统 (5) - Android的Event Input System: http://www.cnblogs.com/samchen2009/p/3368158.html 关注里面的Dispatcher处理流程


    2.输入系统可以分为读取、分发、处理三大流程

    (1)读取:
    a.要支持多设备,如GPIO键盘,红外遥控器、USB键盘鼠标、触摸屏灯
    b.即插即用,可以随时插入和拔出。
    c.支持多语言映射,同一键盘同一按键,code在不同语言的情况下映射成不同的值。

    (2)分发:
    a.分辨
    对于按键,区分是SystemKey(控制音量、电源),还是GlobalKey(做特殊处理),还是UserKey(发给App去处理)。
    对于触摸屏,有VirtualKey和手势。
    b.发送
    找出当前App,然后发送给它。

    (3)处理:
    a.App等收到事件后做处理。

    3.输入子系统的总体流程与参与者

    Reader线程和Dispatcher线程与App之间的通信使用的就是socketpair来实现的。

  • 相关阅读:
    尚未为数据源“RptDataSet_StatEC”提供数据源实例
    C3P0的详细配置说明(com.mchange.v2.c3p0.comboPooledDataSource)
    TopCoder SRM 581
    [ZJOI2012]灾难
    Codeforces 313
    [ZJOI2010]数字计数
    [ZJOI2010]排列计数
    [ZJOI2009]函数
    [ZJOI2009]假期的宿舍
    [ZJOI2008]骑士
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10858489.html
Copyright © 2011-2022 走看看