如何通过手机加速计顺利移动窗户光标

时间:2015-08-06 15:23:57

标签: android cursor accelerometer sensor

我试图用Android手机加速度计移动Windows光标,但我不知道如何正确使用数据来平滑地移动光标。 我使用wifi将数据从手机传输到笔记本电脑。

这是一些没有wifi和套接字传输代码的代码,请给我一些想法或更正我的代码。 安卓: 的onCreate:

sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

我只使用X和Y坐标:

public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        x =  event.values[0];
        y =  event.values[1];

然后我在windows中使用此功能,将光标从一个步骤移动到另一个位置: 参数:x1,x2 - 从位置,x2,y2 - 到位置,t - 时间,n - 步骤

public void mouseGlide(int x1, int y1, int x2, int y2, int t, int n) {
    try {
        Robot r = new Robot();
        double dx = (x2 - x1) / ((double) n);
        double dy = (y2 - y1) / ((double) n);
        double dt = t / ((double) n);
        for (int step = 1; step <= n; step++) {
            Thread.sleep((int) dt);
            r.mouseMove((int) (x1 + dx * step), (int) (y1 + dy * step));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
}

基本上我想使用手机倾斜来移动光标,就像我使用鼠标一样,相机应用程序中的光线移动顺畅。

我不知道该怎么做。

0 个答案:

没有答案