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来实现的。

  • 相关阅读:
    【Leetcode】113Path Sum II
    【leetcode】112. Path Sum
    virtualbox 中安装win7虚拟机
    制作一个vagrant的win7 box
    socket编程
    异常处理
    strip(),replace()和re.sub()用法
    面象对象 高阶篇
    面象对象 基础篇
    Subprocess模块介绍
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10858489.html
Copyright © 2011-2022 走看看