如何将鼠标移动和点击从Android发送到桌面

时间:2015-06-30 05:52:39

标签: java android bluetooth cursor mouse

我想创建一个可以通过蓝牙控制桌面鼠标光标的应用程序(Android Studio和Java)。我该怎么做呢?是否有任何功能来控制通过BT连接的设备的光标?提前致谢!

1 个答案:

答案 0 :(得分:1)

这是一个迟到的答案,但一个解决方案是设计架构,如:

  • 能够使用MotionEvent.ACTION_MOVE读取触摸输入并记录先前和当前值并计算通过蓝牙UDP客户端将其发送到服务器的差异的应用程序。

    @Override
    public boolean onTouch(MotionEvent e)
    {
    
       switch(e)
       {     
            case MotionEvent.ACTION_DOWN:
                float initX = e.getX();        
                float initY = e.getY();
                return true;
    
            case MotionEvent.ACTION_MOVE:        
                float curX = initX - e.getX();
                float curY = initY - e.getY();
                sendThroughUDP(curX, curY);
                return true; 
        }
    }
    
  • 桌面上运行的服务器能够读取此内容。例如,通过蓝牙的简单java UDP服务器,可以给定here。这将接收这些值,然后将这些值注入Robot类(如果是Java)。

 //implement the UDP over the bluetooth stack.
 public static void main(String [] args)
 {
      UDPOverBluetoothServer UDPBT = new UDPOverBluetoothSever(socketInformation);
      int xValue = UDPBT.getX();          
      int yValue = UDPBT.getY();
      Robot robot = new Robot();
      Point mousePointer = MouseInfo.getPointerInfo().getLocation();
      robot.mouseMove(mousePointer.x - xValue, mousePointer.y - yValue); 
 }