我正在尋找一種將多點觸控手勢注入Android的方法。到目前爲止,我打開/ dev/uinput並寫入文件描述符。此解決方案適用於「單一」觸摸。如何注入多點觸控輸入?在Android中通過/ dev/uinput注入多點觸控手勢
1
A
回答
0
不知道這是否會工作,但(我假設你是從應用程序做到這一點),你可以有一系列AsyncTasks同時運行(並寫入/ dev/uinput)來模擬同步觸摸
2
您可以在google代碼上使用事件注入器庫:http://code.google.com/p/android-event-injector/,爲您的觸摸屏設置均勻監視器,並準確查看發送/用於多點觸控事件的消息。
然後,您可以使用正確的參數簡單地重現這些消息。
4
以我的經驗,/dev/uinput
觸摸手勢將是艱難的。我實現了單點觸控,僅在某些設備上工作。在其他方面,它只會產生「懸停」的效果。
然後我使用了android的觸控設備/dev/input/eventX
(如果您有root權限,您可以使用它)。查看觸摸輸入如何工作的最佳方法是在設備上使用getevent /dev/input/eventX
二進制文件。 linux multitouch protocol輸入描述了多點觸控功能和行爲,並且給出了很好的背景知識,在解碼十六進制代碼(並將它們翻譯爲更有意義的內容,例如ABS_MT_POSITION_X
)後,您將看到的內容是getevent
。
簡而言之:
- 找出
/dev/input/eventX
設備中的哪一個的觸摸輸入裝置。它是註冊ABS_MT_ *事件的設備。你可以看到getevent -il
命令(運行於adb shell
) - 假設支持這種事件的輸入設備是
/dev/input/event2
。 - 問題
getevent /dev/input/event2
命令從adb shell
並觸摸屏幕。 - 你會在屏幕上得到一些輸出,其中包含三列:
- 事件類別(
EV_ABS
,這是0003
) - 事件代碼(
ABS_MT_SLOT
這是0x002f
- 事件值(即插槽數字,座標,壓力或任何事件定義)
- 事件類別(
- 看看這些事件是怎麼樣的,然後只是重放它們,你可以用這種方式注入多點觸摸事件和手勢
對於instace,對於雙抽頭的getevent /dev/input/event2
註釋輸出:
0003 002f 00000001 // slot 1 (finger 1)
0003 0039 000019fe // tracking id for slot 1
0003 0035 00000146 // position x
0003 0036 00000117 // position y
0003 0030 00000033 // touch area
0000 0000 00000000 // sync
0003 002f 00000000 // slot 0 (finger 0)
0003 0039 000019ff // tracking id for slot 0
0003 0035 000000cb // position x
0003 0036 00000164 // position y
0003 0030 00000028 // touch area
0000 0000 00000000 // sync
0003 0039 ffffffff // relese finger 0
0000 0000 00000000 // sync
0003 002f 00000001 // slot 1
0003 0039 ffffffff // release finger 1
0000 0000 00000000 // sync
相關問題
- 1. Android:追蹤多點觸控手勢
- 2. Sprite Kit中的多點觸控手勢
- 3. paperjs中的多點觸控手勢
- 4. 多點觸控自定義手勢
- 5. 如何在phonegap android中啓用多點觸控手勢?
- 6. 更改XCode 4多點觸控手勢
- 7. Android多點觸摸手勢識別
- 8. Android中的多點觸控手勢和圖像
- 9. Android中的複雜多點觸控手勢
- 10. WP7中的4點多點觸控手勢(silverlight)
- 11. 多點觸摸滑動手勢
- 12. 翻譯觸控手勢鼠標手勢
- 13. 自定義多點觸控手勢(OS X)
- 14. Javascript中的自定義多點觸控手勢
- 15. SpriteKit + Swift中的多點觸控手勢識別
- 16. 通過JavaScript禁用Android瀏覽器中的觸摸手勢
- 17. Silverlight 4和Windows Phone 7上的多點觸控手勢
- 18. OnTouch多點觸控在Android
- 19. Android多點觸控控件
- 20. 啓用多點觸控/多點觸控
- 21. Android多點觸控輸入處理
- 22. ViewFlipper通過手勢切換ListViews通過手勢
- 23. 如何用觸摸手勢控制CAKeyframeAnimation?
- 24. 在Android中禁用多點觸控
- 25. Android中的全局觸摸手勢?
- 26. 通過多個視圖控制器檢測搖動手勢
- 27. 如何使用Mac OS X Cocoa事件進行多點觸控手勢
- 28. Delphi Firemonkey iOS應用程序中有多點觸控手勢編程嗎?
- 29. 多點觸控(不是手勢!)在Windows Phone設備上不起作用?
- 30. Android多點觸控幫助