Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用uinput模拟多点触摸事件_Android_Linux_Multi Touch_Touchscreen - Fatal编程技术网

Android 使用uinput模拟多点触摸事件

Android 使用uinput模拟多点触摸事件,android,linux,multi-touch,touchscreen,Android,Linux,Multi Touch,Touchscreen,大家好,谢谢阅读 我正在尝试使用uinput界面执行一些触摸。最终,这些数据将通过UART从串行连接进行解释 我可以打开,关闭等,它的工作单触摸良好 EV_KEY BTN_TOUCH 1 EV_ABS ABS_X 400 EV_ABS ABS_Y 400 EV_SYN SYN_REPORT 0 进行触摸。滑动、双击,与ABS_X和ABS_Y配合使用效果良好 然后,我想实现多点触摸支持,所以我实现了ABS\u MT\u POSITION\u X、ABS\u MT\u POSITION\u Y、A

大家好,谢谢阅读

我正在尝试使用
uinput
界面执行一些触摸。最终,这些数据将通过UART从串行连接进行解释

我可以打开,关闭等,它的工作单触摸良好

EV_KEY BTN_TOUCH 1
EV_ABS ABS_X 400
EV_ABS ABS_Y 400
EV_SYN SYN_REPORT 0
进行触摸。滑动、双击,与ABS_X和ABS_Y配合使用效果良好

然后,我想实现多点触摸支持,所以我实现了ABS\u MT\u POSITION\u X、ABS\u MT\u POSITION\u Y、ABS\u MT\u TRACKING\u ID、ABS\u MT\u SLOT

我成功地进行了触摸和滑动:

EV_ABS ABS_MT_TRACKING_ID 20
EV_KEY BTN_TOUCH 1
EV_ABS ABS_MT_POSITION_X 425
EV_ABS ABS_MT_POSITION_Y 400
EV_SYN SYN_REPORT 0
但是。。。我不能用插槽。我正试着做一个捏(德祖默)

此序列不起作用,但根据,它应该起作用。我看不出那个问题是从哪里来的。它是随时间变化的吗?由于我在发送这些指令时没有延迟,因此可能需要一段时间

有人知道如何按照协议B模拟多点触控事件吗?什么顺序应该起作用


注意:这些触摸是在安卓设备上执行的,使用安卓NDK制作的C可执行文件

所以我终于找到了答案。 上面的顺序是正确的,但是:

  • 您需要添加延迟。我可以从Android上的旧三星Edge上收集到序列,每次刷新ABS\u MT\u POSITION\u X/Y的时间间隔为8000微秒
  • 您需要发送更多事件。所以我基本上实现了一个for循环 戈蒂埃

    EV_ABS ABS_MT_SLOT 0
    EV_ABS ABS_MT_TRACKING_ID 20
    EV_KEY BTN_TOUCH 1
    EV_ABS ABS_MT_POSITION_X 425
    EV_ABS ABS_MT_POSITION_Y 400
    EV_ABS ABS_MT_SLOT 1
    EV_ABS ABS_MT_TRACKING_ID 21
    EV_ABS ABS_MT_POSITION_X 650
    EV_ABS ABS_MT_POSITION_Y 400
    EV_SYN SYN_REPORT 0
    EV_ABS ABS_MT_SLOT 0
    EV_ABS ABS_MT_POSITION_X 450
    EV_ABS ABS_MT_POSITION_Y 400
    EV_ABS ABS_MT_SLOT 1
    EV_ABS ABS_MT_POSITION_X 550
    EV_ABS ABS_MT_POSITION_Y 400
    EV_ABS ABS_MT_SLOT 0
    EV_ABS ABS_MT_TRACKING_ID -1
    EV_ABS ABS_MT_SLOT 1
    EV_ABS ABS_MT_TRACKING_ID -1
    EV_KEY BTN_TOUCH 0
    EV_SYN SYN_REPORT 0