首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的。教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈~我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转到教程
1. 触摸屏设备分类
1.1 多点触摸
满足以下两个条件为多点触摸设备:
1)输入设备驱动报告了ABS_MT_POSITION_X
和ABS_MT_POSITION_Y存在
2)输入设备没有任何手柄按钮
1.2 单点触摸
满足以下两个条件为单点触摸设备:
1)输入设备不被归类为多点触摸设备
2)输入设备报告存在ABS_X和ABS_Y绝对轴,以及存在BTN_TOUCH按键码
1.3 输入设备配置文件
所有内置的触摸设备应该有输入设备的配置文件(.idc, input device configuration files).如果输入设备配置文件不存在,系统将选择一个通用的触摸设备配置做为默认配置。这些默认配置不是专门为内置触摸设备设计的,有可能导致工作不正常。
当输入设备配置(idc)被加载之后,系统将把输入设备分为触摸屏(touch screen),触摸板(touch pad)或指针设备(pointer device).
1)触摸屏:使用它,可以直接操作屏幕上的对象。
2)触摸板:它提供绝对的定位信息给触摸区域内的应用程序。
3)指针设备:使用它,通过光标间接操作屏幕上的对象。手指为多点触摸指针手势,其它工具,如铁笔,被解释为使用绝对位置。
以上三类设备的分类规则如下:
1)如果.idc中设置了touch.deviceType属性,则设备类型被设置为它所指定的设备类型(如:touchScreen)
2)如果输入设备通过EVIOCGPROP ioctl报告了存在INPUT_PROP_DIRECT输入属性,则此设备类型被设置为触摸屏。
3)如果输入设备通过EVIOCGPROP ioctl报告了存在INPUT_PROP_POINTER输入属性,则此设备类型被设置为指针设备。
4)如果输入设备报告了存在REL_X和REL_Y相对轴,则设备类型被设置为触摸板。
5)如果不满足以上条件,则设备类型被设置为指针设备。