91久久精品_国产伦精品一区二区三区四区视频__国产欧美啪啪_久久精品视频91_久久亚洲私人国产精品va媚药_天天摸天天做天天爽水多_国产成人综合亚洲_天天揉久久久久亚洲精品_337p粉嫩色噜噜噜大肥臀_亚洲精品国产a

Linux與Android 多點觸摸協議

作者: TouchScreen     時間:2012-06-28     源于:未知    總點擊:
【導讀】:單點觸摸信息是以ABS承載并按一定順序發送,多點觸摸信息則是以ABS_MT承載并按一定順序發送,然后通過調用input_mt_sync()產生一個 SYN_MT_REPORT event來標記一個點的結束,告訴接收方接收當前手指的信息并準備接收其它手指的觸控信息。

    為了使用功能強大的多點觸控設備,就需要一種方案去上報用戶層所需的詳細的手指觸摸數據。這個文檔所描述的多點觸控協議可以讓內核驅動程序向用戶層上報任意多指的數據信息。

    使用說明

    單點觸摸信息是以ABS承載并按一定順序發送,如BTN_TOUCH、ABS_X、ABS_Y、SYNC。而多點觸摸信息則是以ABS_MT承載并按一定順序發送,如ABS_MT_POSITION_X、ABS_MT_POSITION_Y,然后通過調用input_mt_sync()產生一個 SYN_MT_REPORT event來標記一個點的結束,告訴接收方接收當前手指的信息并準備接收其它手指的觸控信息。最后調用 input_sync()函數上報觸摸信息開始動作并告訴接收方開始接收下一系列多點觸摸信息。

    協議定義了一系列ABS_MT事件,這些事件被分為幾大類,充許只應用其中的一部份,多點觸摸最小的事件集中應包括ABS_MT_TOUCH_MAJOR、ABS_MT_POSITION_X和 ABS_MT_POSITION_Y,以此來實現多點觸摸。如果設備支持ABS_MT_WIDTH_MAJOR這個事件,那么此事件可以提供手指觸摸接觸面積大小。觸摸方向等信息可以由ABS_MT_TOUCH_MINOR, ABS_MT_WIDTH_MINOR and ABS_MT_ORIENTATION提供。ABS_MT_TOOL_TYPE提供觸摸設備的類別,如手或是筆或是其它。最后有些設備可能會支持ABS_MT_TRACKING_ID,用來支持硬件跟蹤多點信息,即該點屬于哪一條線等。

    下面是兩點觸摸支持的最小事件集序列:

    ABS_MT_TOUCH_MAJOR

    ABS_MT_POSITION_X

    ABS_MT_POSITION_Y

    SYN_MT_REPORT      //上報第一個點

    ABS_MT_TOUCH_MAJOR

    ABS_MT_POSITION_X

    ABS_MT_POSITION_Y

    SYN_MT_REPORT      //上報第二個點

    SYN_REPORT         //開始動作

    Event 原語

    “接觸”一詞用來描述一個物體直接碰到另一個物體的表面。

    ABS_MT_TOUCH_MAJOR描述了主接觸面的長軸,它和X,Y同一個單位,如果一個面的分辨率為X*Y,則ABS_MT_TOUCH_MAJOR的最大值為sqrt(X^2+Y^2)

    ABS_MT_TOUCH_MINOR描述了接觸面的短軸,如果接觸面是圓形,它可以不用。

    ABS_MT_WIDTH_MAJOR描述了接觸工具的長軸

    ABS_MT_WIDTH_MINOR描述了接觸工具的短軸

    ABS_MT_TOUCH_MAJOR := max(X, Y)

    ABS_MT_TOUCH_MINOR := min(X, Y)

    ABS_MT_ORIENTATION := bool(X > Y)

    以上四個參數可以用來生成額外的觸摸信息,如ABS_MT_TOUCH_MAJOR/ABS_MT_WIDTH_MAJOR的比率可以用來描述壓力。

    ABS_MT_ORIENTATION

    ABS_MT_POSITION_X接觸面的中心點X坐標

    ABS_MT_POSITION_Y接觸面的中心點Y坐標

    ABS_MT_TOOL_TYPE描述接觸工具類型,很多內核驅動無法區分此參數如手指及筆,如果是這樣,該參數可以不用,協議目前支持MT_TOOL_FINGER和MT_TOOL_PEN兩種類型。

    ABS_MT_BLOB_ID形狀集ID,集合幾個點以描述一個形狀,很多驅動沒有形狀屬性,此參數可以不用。

    ABS_MT_TRACKING_ID描述了從接觸開始到釋放的整個過程的集合,如果設備不支持,此參數可是不用。

    觸摸軌跡

    僅有少數設備可以明觸的標識真實的 trackingID,多數情況下 trackingID只能來標識一次觸摸動作的過程。

    手勢

    多點觸摸指定的應用是創建手勢動作, TOUCH和 WIDTH參數經常用來區別手指的壓力和手指間的距離,另外 MINOR類的參數可以用來區別設備的接觸面的大小(點接觸還是面接觸),ORIENTATION可以產生旋轉事件。

    在Linux內核支持的基礎上,Android在其2.0源碼中加入多點觸摸功能。由此觸摸屏在Android的frameworks被完全分為2種實現途徑:單點觸摸屏的單點方式,多點觸摸屏的單點和多點方式。

    在Linux的input.h中,多點觸摸功能依賴于以下幾個主要的軟件位:

    ……

    #define SYN_REPORT0

    #define SYN_CONFIG1

    #define SYN_MT_REPORT2

    ……

    #define ABS_MT_TOUCH_MAJOR0x30

    #define ABS_MT_TOUCH_MINOR0x31

    #define ABS_MT_WIDTH_MAJOR0x32

    #define ABS_MT_WIDTH_MINOR0x33

    #define ABS_MT_ORIENTATION0x34

    #define ABS_MT_POSITION_X0x35

    #define ABS_MT_POSITION_Y0x36

    #define ABS_MT_TOOL_TYPE0x37

    #define ABS_MT_BLOB_ID0x38

    ……

    在Android中對應的軟件位定義在RawInputEvent.java中:

    ……

    public class RawInputEvent {

    ……

 public static final int CLASS_TOUCHSCREEN_MT = 0x00000010;

    ……

    public static final int ABS_MT_TOUCH_MAJOR = 0x30;

    public static final int ABS_MT_TOUCH_MINOR = 0x31;

    public static final int ABS_MT_WIDTH_MAJOR = 0x32;

    public static final int ABS_MT_WIDTH_MINOR = 0x33;

    public static final int ABS_MT_ORIENTATION = 0x34;

    public static final int ABS_MT_POSITION_X = 0x35;

    public static final int ABS_MT_POSITION_Y = 0x36;

    public static final int ABS_MT_TOOL_TYPE = 0x37;

    public static final int ABS_MT_BLOB_ID = 0x38;

    ……

    public static final int SYN_REPORT = 0;

    public static final int SYN_CONFIG = 1;

    public static final int SYN_MT_REPORT = 2;

    ……

    在Android中,多點觸摸的實現方法在具體的代碼實現中和單點是完全區分開的。在Android代碼的EventHub.cpp中,單點屏和多點屏由如下代碼段來判定:

    int EventHub::open_device(const char *deviceName)

    {

    ……

    if (test_bit(ABS_MT_TOUCH_MAJOR, abs_bitmask)

    && test_bit(ABS_MT_POSITION_X, abs_bitmask)

    && test_bit(ABS_MT_POSITION_Y, abs_bitmask)) {

    device->classes |= CLASS_TOUCHSCREEN | CLASS_TOUCHSCREEN_MT;

    //LOGI("It is a multi-touch screen!");

    }

    //single-touch?

    else if (test_bit(BTN_TOUCH, key_bitmask)

    && test_bit(ABS_X, abs_bitmask)

    && test_bit(ABS_Y, abs_bitmask)) {

    device->classes |= CLASS_TOUCHSCREEN;

    //LOGI("It is a single-touch screen!");

    }

    ……

    }

    我們知道,在觸摸屏驅動中,通常在probe函數中會調用input_set_abs_params給設備的input_dev結構體初始化,這些input_dev的參數會在Android的EventHub.cpp中被讀取。如上可知,如果我們的觸摸屏想被當成多點屏被處理,只需要在驅動中給input_dev額外增加以下幾個參數即可:

    input_set_abs_params(mcs_data.input, ABS_MT_POSITION_X, pdata->abs_x_min,  pdata->abs_x_max, 0, 0);

    input_set_abs_params(mcs_data.input, ABS_MT_POSITION_Y, pdata->abs_y_min,  pdata->abs_y_max, 0, 0);

    input_set_abs_params(mcs_data.input, ABS_MT_TOUCH_MAJOR, 0, 15, 0, 0);

    //相當于單點屏的ABX_PRESSURE

    input_set_abs_params(mcs_data.input, ABS_MT_WIDTH_MAJOR, 0, 15, 0, 0);

    //相當于單點屏的ABS_TOOL_WIDTH

    由于多點觸摸技術需要采集到多個點,然后再一起處理這些點,所以在軟件實現中需要保證每一波點的準確性和完整性。因此,Linux內核提供了input_mt_sync(struct input_dev * input)函數。在每波的每個點上報后需要緊跟一句input_mt_sync(), 當這波所有點上報后再使用input_sync()進行同步。

    例如一波要上報3個點:

    ……

    input_mt_sync(input);

    ……

    input_mt_sync(input);

    ……

    input_mt_sync(input);

    input_sync(input);

    注:即使是僅上報一個點的單點事件,也需要一次input_my_sync。


相關閱讀:3D打印    模具產業    微鑄鍛技術    石墨烯    OLED面板    夏普    iPhone 8    半導體    蘋果    
關于我們 | 廣告服務 | 聯系我們 | 版權聲明 | 隱私政策 | 網站地圖 | 友情鏈接 | 歡迎投稿 | 加入收藏 | 意見反饋 | 經銷商加入
網站廣告、經銷商加盟、觸摸屏軟件銷售: 028-85108892 13183843395 028-66219290 聯系人: 張小姐 產品購買聯系方式如下:
地址:成都市高升橋東路2號高盛中心1109室 電話: 028-85108892 13183843395 028-66219290
版權所有 Copyright(C) 2003-2015 All rights reserved 中國觸摸屏網 電子郵件: 51touch@126.com touch8@gmail.com
業務合作QQ:觸摸屏技術,觸摸屏報價,觸摸屏軟件咨詢 43361182 觸摸屏軟件制作與技術支持:觸摸屏軟件,觸摸查詢系統,觸摸查詢軟件 893008608 媒體合作QQ: 893008608

2000人超級QQ觸摸屏群:59897879 171220106


分享到
91亚洲精品乱码久久久久久蜜桃| 91精品久久久久久久久久入口 | 亚洲熟妇无码av| 日本一区高清在线视频| 免费91在线视频| 91精品国产欧美一区二区成人| 久久久久国产精品免费免费搜索| 亚洲欧美综合久久久| 久久精品97| 求av网址在线观看| 成人18免费入口| 欧美一级淫片免费视频魅影视频| 国产盗摄x88av| 熟妇女人妻丰满少妇中文字幕| 亚洲一区二区免费视频软件合集| 国产z一区二区三区| 亚洲另类xxxx| 欧美午夜电影网| 国产精品天美传媒| 日本aⅴ免费视频一区二区三区| 日韩影视高清在线观看| 高潮一区二区| 日本在线播放| 最新av电影| 美女三级福利视频| 男人的天堂va免费视频| 中文字幕在线播放不卡| 天天看天天摸天天操| 波多野吉衣在线视频| 欧美国产日韩激情| 视频三区二区一区| 成人自拍性视频| 欧美激情中文网| 亚洲精品久久久一区二区三区| 欧美日韩亚洲一区二区| 日韩美女啊v在线免费观看| 高清不卡一二三区| 免费成人在线网站| 韩国精品一区二区三区| 欧美一级精品| 中国av一区| 日韩视频1区| 蜜桃精品在线| 国产高清视频色在线www| 户外极限露出调教在线视频| 男人的天堂在线播放| 视频在线你懂的| 性欧美xxx极品另类| 蜜臀av中文字幕| 国产绿帽一区二区三区| 日本黄色中文字幕| 日本视频在线观看免费| 国产无码精品在线播放| 日本精品人妻无码77777| 四虎国产精品成人免费入口| 好吊色视频一区二区三区| 美女日批在线观看| 亚洲国产日韩在线一区| 日本肉体xxxx裸体xxx免费| 久久精品.com| 91精品91久久久中77777老牛| 99re6这里有精品热视频| 性欧美.com| 亚洲日本欧美在线| 日韩欧美精品一区二区| 神马影院我不卡| 亚洲精品二区| 在线观看欧美一区| 国产精品视频一二三四区| 国产精品一二三在线观看| 国产精品啪啪啪视频| 女人床在线观看| 欧美爱爱视频免费看| 国产精品333| 日韩毛片在线免费看| 狠狠热免费视频| 久久黄色片网站| 美女被艹视频网站| 97人妻精品一区二区三区免| 亚洲天堂岛国片| 卡通动漫亚洲综合| 国产精品50页| 亚洲性猛交富婆| 精品国精品国产自在久不卡| 日本美女一级视频| 久热国产视频| 免费在线播放av| 91网页在线看| 大地资源中文在线观看免费版| 自拍视频在线免费观看| 性xxxfreexxxx性欧美| 亚洲欧美另类在线视频| 91国偷自产中文字幕久久| 99在线精品视频免费观看20| 四虎永久在线精品免费网址| 中文字幕国产视频| 狠狠色噜噜狠狠狠| 福利网址在线| 麻豆最新免费在线视频| 91精品论坛| 99精品在免费线中文字幕网站一区 | 欧美午夜精品| 噜噜噜91成人网| 国产精品一区二区久久精品爱涩| 91香蕉视频在线| 亚洲电影第三页| 欧美日本免费一区二区三区| 日韩激情av在线免费观看| 久久久久999| 国产精品日韩专区| 日韩av在线一区二区三区| 日韩亚洲欧美视频| 日批免费观看视频| 青青草国产在线观看| 国产一区二区麻豆| 国产伊人网av.| 免费看的毛片| 伊人影院在线视频| 日韩欧美中文字幕在线视频 | 日本韩国一区二区三区视频| 亚洲第一精品福利| 亚洲18私人小影院| 精品蜜桃传媒| 91视频免费版污| 国产123在线| 一区二区视频免费| 国产精品7区| 在线观看导航| 久久青青视频| 成人网18免费网站| 久草热8精品视频在线观看| 国产精品久久久久久久久快鸭 | 激情六月婷婷综合| 中文字幕中文在线不卡住| 欧美日韩一区国产| 久久影视电视剧免费网站| 99porn视频在线| www在线观看免费| 亚洲自拍偷拍一区二区| 日韩国产成人在线| 91中文字幕| 一级免费在线观看| 亚洲欧美色图区| 视频黄页在线| 国产精品诱惑| 亚洲理伦在线| 国产精品久久看| 日韩精品一区二区在线| 911国产网站尤物在线观看| 日韩欧美三级电影| 精品中文字幕在线播放| 一级aaaa毛片| avtt天堂资源网| 三级在线观看视频| 自拍偷拍欧美| 中文字幕精品—区二区四季| 日韩美女主播在线视频一区二区三区| 91av视频在线| 成年人网站国产| 粉嫩精品久久99综合一区| 国产三级视频在线播放| 天天干人人干| 伊人久久高清| 国产精品人人爽人人做我的可爱| 最新不卡av在线| 精品无人国产偷自产在线| 亚洲在线一区二区| 中文字幕丰满乱码| 中文在线观看av| 天天舔夜夜操| 日韩成人影音| 日韩专区在线视频| 一本大道av伊人久久综合| 久久久久久久国产| 国产va亚洲va在线va| 欧美日韩精品在线观看视频| 国产真实乱全部视频| 国产黄a三级三级三级av在线看| 国产精品午夜一区二区三区| 高清成人免费视频| 日韩成人在线观看| 狼狼综合久久久久综合网| 精品一区二区视频在线观看| 亚洲第一第二区| 国产视频第一页在线观看| 最新国产一区| 欧美激情一区在线观看| 亚洲石原莉奈一区二区在线观看| 精品日产一区2区三区黄免费| 屁屁影院国产第一页| 2018中文字幕在线观看| 91精品久久| 亚洲精品婷婷| 色婷婷av一区二区三区gif| 国产精品成人国产乱一区 | av成人国产| 在线精品视频一区二区| 成人a在线观看| 亚洲成人激情小说| 亚洲人成影院在线| av老司机免费在线| 美女性感视频久久| 欧美精品一区二区三区四区 | 丁香六月婷婷综合| 久草在线资源视频| 大色综合视频网站在线播放| 国产精品久久久久久久久免费樱桃| 日韩中文字幕精品| 久久久久免费看黄a片app| 国产免费a视频| 国产视频二区在线观看| 欧美日韩三级| 欧美区一区二区三区| 裸模一区二区三区免费| 欧美黄色一级网站| 日本激情免费| 日韩理论在线| 色综合夜色一区| 国产激情美女久久久久久吹潮| 亚洲欧洲久久久| 三级av网站| 色婷婷精品视频| 五月天久久比比资源色| 亚洲最大福利视频网| 级毛片内射视频| а√最新版天堂中文在线| 美女久久99| 日韩欧美在线字幕| 精品999在线观看| 青青草原免费观看| 一本大道香蕉久在线播放29| 欧美午夜免费影院| 亚洲国产成人爱av在线播放| 欧美xxxx吸乳| wwwav网站| 亚洲国产成人二区| 久久综合网色—综合色88| 97精品一区二区视频在线观看| 国产精欧美一区二区三区白种人| 另类国产精品一区二区| 岛国精品一区| 疯狂做受xxxx欧美肥白少妇| 精品一区二区三区国产| av片免费观看| 免费毛片在线看片免费丝瓜视频| 成人一二三区视频| 欧美最猛黑人xxxx黑人猛叫黄| 日本少妇色视频| 在线播放evaelfie极品| 影音先锋一区| 亚洲欧美日韩图片| 污片在线免费看| 伊人无码高清| 99九九热只有国产精品| 日韩欧美在线网站| 欧美一级在线看| 久久久久国产美女免费网站| 天海翼精品一区二区三区| 欧美午夜精品在线| 中文字幕久久综合| 亚洲女人天堂a在线播放| 试看120秒一区二区三区| 午夜精品久久久久久久99樱桃| 日本不卡一区二区三区视频| 91麻豆视频在线观看| 欧美电影免费观看高清完整| 最新中文字幕一区二区三区| 精品视频一区二区三区四区| 亚洲无码精品在线播放| 影音成人av| 亚洲va国产va欧美va观看| 亚洲人成77777| 亚洲欧洲综合在线| 欧洲vs亚洲vs国产| 91精品免费在线| 亚洲精品中文字幕无码蜜桃| 有没有片在线看www| 久久久久电影| 色妞欧美日韩在线| 粉嫩av蜜桃av蜜臀av| 欧美色图另类| 不卡的av在线播放| 国产福利久久精品| 国产白浆在线观看| 第四色中文综合网| 欧美不卡一二三| 亚洲欧美手机在线| 免费免费啪视频在线观看| 麻豆精品国产传媒mv男同| 日韩av免费在线| 久久国产黄色片| 97欧美成人| 欧美三级蜜桃2在线观看| 无码人妻丰满熟妇区五十路百度| 黄色免费网站视频| 日日夜夜免费精品视频| 日本高清视频精品| 91porny九色| 国产精伦一区二区三区| 精品99久久久久久| 艳妇乳肉豪妇荡乳xxx| 日韩av资源站| 中文字幕av不卡| 午夜精品一区二区三区在线观看| 四虎影院成人在线观看| 我不卡手机影院| 欧美精品日韩三级| 日韩av无码中文字幕| jizzyou欧美16| 91精选在线观看| youjizz.com日本| 日本中文字幕视频在线| 中文字幕中文字幕一区二区| wwwjizzjizzcom| h视频在线观看免费完整版| 久久国产人妖系列| 国产在线精品一区二区三区》| 男人天堂电影网| 在线欧美三区| 国产精品欧美亚洲777777| 国产精品亚洲欧美在线播放| 女人av一区| 九九热视频这里只有精品| 国语对白永久免费| а√中文在线天堂精品| 亚洲欧美日韩直播| 激情综合网五月婷婷| 国产精品美女久久久久人| 亚洲精品天天看| 波多野结衣亚洲色图| 免费观看性欧美大片无片| 亚洲精品视频二区| 唐朝av高清盛宴| 一本色道69色精品综合久久| 亚洲欧美精品伊人久久| 久久老司机精品视频| 亚洲精品不卡在线观看| 少妇激情综合网| 亚洲高清视频免费观看| 精品理论电影在线| 日本在线观看天堂男亚洲 | 国产sm调教视频| 成人免费无遮挡| 精品99一区二区三区| 国产午夜精品理论片| 国产中文欧美日韩在线| 国产一区二区三区欧美| 亚洲日本韩国在线| 精品国产一区一区二区三亚瑟| 97在线视频免费观看| 成人免费观看在线视频| 99在线|亚洲一区二区| 俄罗斯精品一区二区三区| 成人亚洲欧美激情在线电影| 国产精品一二三| 中国成人在线视频| 中文字幕在线资源| 婷婷六月综合网| 中国黄色a级片| 欧美成年网站| 欧美激情小视频| 天天av天天翘| 精品制服美女丁香| 精品嫩模一区二区三区| 性色视频在线| 91国产福利在线| 国产黄a三级三级| 精品一区二区男人吃奶| 欧美一区二粉嫩精品国产一线天| 亚洲人午夜射精精品日韩| 久久精品二区亚洲w码| 精品免费久久久久久久| 国产剧情在线观看| 在线不卡一区二区| 日韩av黄色片| 激情久久久久久久| 日韩欧美国产二区| 邻居大乳一区二区三区| 欧美日本在线视频| 国产午夜精品无码| 亚洲欧洲中文字幕| 欧美乱偷一区二区三区在线| 狠狠干在线视频| 欧美性videosxxxxx| 免费在线一区二区三区| 99国产精品一区二区| 国产精品日韩一区二区| 香港日本韩国三级| 欧美日韩一区精品| 天天综合网入口| 在线欧美一区| 影音先锋在线亚洲| 第三区美女视频在线| 精品国产伦一区二区三区观看方式 | 在线免费一区| 午夜视频在线观看网站| 亚洲精品97久久| 午夜精品一二三区| 成人永久看片免费视频天堂| 妓院一钑片免看黄大片|