Touch無法玩“憤怒的小鳥”

現象:touch進行菜單操作,玩一些重力感應遊戲都正常,可就是裝了
憤怒的小鳥後,點擊“play”沒有反應!

解決過程:
將程序與之前8寸的touch驅動對比,在註冊input子系統部分有少一個
EV_SYN,所以加上:
input_device->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS) | BIT_MASK(EV_SYN); //jeff add EV_SYN.
測試,還是不行!

繼續,查看上報數據:
        input_event(ts->input, EV_ABS, ABS_MT_TRACKING_ID, tracking_id);
        input_event(ts->input, EV_ABS, ABS_MT_POSITION_X, xy_data.x1);
        input_event(ts->input, EV_ABS, ABS_MT_POSITION_Y, xy_data.y1);
        input_event(ts->input, EV_ABS, ABS_MT_TOUCH_MAJOR, 1);
        input_mt_sync(ts->input);
這裏tracking_id的值在單點的時候爲1,兩點時爲2,依次類推。
而8寸touch支持2點,ABS_MT_TRACKING_ID上報的是0,1.  所以很懷疑
是不是上報的TRACKING_ID應該從0開始,於是將每個上報前的tracking_id
做-1處理,結果測試ok,憤怒的小鳥可以玩了!

中間還使用多款多點觸摸測試軟件進行測試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章