1
我在Matlab中有一个演示,我想从(到操作系统)发送多个触摸事件,就好像有人在触摸屏幕一样。我希望能够提供5到10个触摸点及其坐标。 如何在没有触摸输入硬件但安装了触摸驱动程序的机器上完成...?是否可以将多点触摸事件从Matlab发送到Windows?
我在Matlab中有一个演示,我想从(到操作系统)发送多个触摸事件,就好像有人在触摸屏幕一样。我希望能够提供5到10个触摸点及其坐标。 如何在没有触摸输入硬件但安装了触摸驱动程序的机器上完成...?是否可以将多点触摸事件从Matlab发送到Windows?
这似乎比人们想象的要复杂一些。 目前Windows 7上的最佳解决方案使用MultiTouchVista和TUIO。
1)下载MultiTouchVista
2)激活笔和触摸
3)运行Multitouch.Service.Console.exe
4)运行Multitouch.Driver.Console.exe
5)运行Multitouch.Configuration.WPF.exe并选择TUIO
6)下载oscsend用于发送OSC帧作为请求红色由TUIO。
以下是一些示例代码,用于在循环中向屏幕发送5个触摸点。
clear all
u = udp('127.0.0.1',3333);
fopen(u);
fprintf('Opened\n');
pause(0.5);
n = 0;
%%
pause(5);
while 1
x = 0.5;
y = 0.5;
for t = -0.2:0.01:0.2
oscsend(u , '/tuio/2Dcur' , 'siiiii' , 'alive' , 5*n,5*n+1,5*n+2,5*n+3,5*n+4);
oscsend(u , '/tuio/2Dcur' , 'sifffff' , 'set' , 5*n, x + t, y - 0.2, 0, 0, 0);
oscsend(u , '/tuio/2Dcur' , 'sifffff' , 'set' , 5*n+1, x + t, y - 0.1, 0, 0, 0);
oscsend(u , '/tuio/2Dcur' , 'sifffff' , 'set' , 5*n+2, x + t, y , 0, 0, 0);
oscsend(u , '/tuio/2Dcur' , 'sifffff' , 'set' , 5*n+3, x + t, y + 0.1, 0, 0, 0);
oscsend(u , '/tuio/2Dcur' , 'sifffff' , 'set' , 5*n+4, x + t, y + 0.2, 0, 0, 0);
oscsend(u , '/tuio/2Dcur' , 'siiiii' , 'fseq' , 5*n,5*n+1,5*n+2,5*n+3,5*n+4);
pause(0.01);
end
n = n + 1;
fprintf('Sent\n');
pause(1);
end
%%
fclose(u);
fprintf('Closed\n');
你可能看不到,除了移动鼠标,但操作系统正在接收感动,如果你打开Microsoft's Touch-Pack的一个例子就可以看到多个触摸点什么。继承人从FruitNinja Lite
屏幕截图,你可以使用'java.awt.robot'类来模拟触摸输入? – Jonas
我可以使用java.awt.robot发送单个鼠标位置事件,但不是多个(据我所知) – twerdster