我终于开发了我的应用程序,我可以使用我的Android手机控制PC鼠标。我正在使用触摸屏来控制鼠标。
问题是鼠标光标仅在受手机屏幕大小限制的特定区域内移动。我希望能够将光标移动到处吗?我需要某种映射吗?
这是我通过电话发送我的坐垫的方式:
public boolean onTouchEvent(MotionEvent evt)
{
String coords = Math.round(evt.getX()) + ", " + Math.round(evt.getY());
Log.d(TAG, coords);
msgIO.sendMessage(soc, coords);
return true;
}
澄清: 说手机屏幕限制为300x700,电脑屏幕为1080x720。现在,如果我使用手机的触摸屏发送坐标,它只会在300x700矩形内的PC侧移动鼠标光标。我想在1080x720矩形内移动它。
答案 0 :(得分:1)
我认为你可以通过数学来解决它。
您需要向PC发送4个参数。
String coords = Phone_Touched_X;
coords += ", "
coords += Phone_Touched_Y
coords += ", "
coords += Phone_Screen_X
coords += ", "
coords += Phone_Screen_Y
在PC端:
Position_X = PC_Screen_X * Phone_Touched_X / Phone_Screen_X;
Position_Y = PC_Screen_Y * Phone_Touched_Y / Phone_Screen_Y;
示例:
你在300x700手机屏幕上触及200,200。并将其发送到1080x720 PC。
Position_X = 1080 * 200 / 300 = 720
Position_Y = 720 * 200 / 700 = 205
请注意,您还需要考虑是否以纵向模式操作手机。 在这种情况下,您应该传递700x300而不是300x700。
Position_X = 1080 * 200 / 700 = 308
Position_Y = 720 * 200 / 300 = 480