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

  • 相关阅读:
    HDU 1009 FatMouse' Trade
    HDU 2602 (简单的01背包) Bone Collector
    LA 3902 Network
    HDU 4513 吉哥系列故事——完美队形II
    LA 4794 Sharing Chocolate
    POJ (Manacher) Palindrome
    HDU 3294 (Manacher) Girls' research
    HDU 3068 (Manacher) 最长回文
    Tyvj 1085 派对
    Tyvj 1030 乳草的入侵
  • 原文地址:https://www.cnblogs.com/hellokitty2/p/10858489.html
Copyright © 2011-2022 走看看