我正在开发一款需要远程控制笔记本电脑触控板或鼠标的Android应用程序,这意味着它可以简单地模拟鼠标或触控板功能。
我尝试过一个名为RemoteDroid的开源应用程序,其中包含用Java编写的服务器端代码,它可以控制笔记本电脑的完整触摸板,但我无法使用它,因为我的后端服务器是用Python编写的(因为我是要在raspberry pi上移植服务器端程序,所以在PI上运行JVM几乎让它在一段时间后就死了。)
我能够使用Android程序成功收集连续流式触摸坐标,并通过原始套接字将它们发送到服务器端Python程序,该程序接收它并使用pyautogui
库更改当前鼠标坐标。问题是我的Android设备使用的屏幕分辨率与我的笔记本电脑差别很大,因此有人可以帮助我更改或调整Android设备的屏幕尺寸(分辨率)以映射到笔记本电脑的屏幕尺寸。
例如,假设我的Android屏幕分辨率为750x1250px,笔记本电脑的分辨率为1366x768px。我怎样才能将笔记本电脑的屏幕坐标映射到我的Android应用程序中?
这是我在Android应用程序中使用的代码:
setContentView(R.layout.activity_main);
touchView = (TextView) findViewById(R.id.textView3);
touchView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
final int action = event.getAction();
switch (action & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_DOWN: {
new SendXY(String.valueOf((int) event.getX())+":"+String.valueOf((int) event.getY())).execute();
touchView.setText("ACTION_DOWN X: "+String.valueOf((int) event.getX())+"\nY: "+String.valueOf((int) event.getY()));
break;
}
case MotionEvent.ACTION_MOVE:{
new SendXY(String.valueOf((int) event.getX())+":"+String.valueOf((int) event.getY())).execute();
touchView.setText("ACTION_MOVE X: "+String.valueOf((int) event.getX())+"\nY: "+String.valueOf((int) event.getY()));
break;
}
}
return true;
}
});