mirror of
https://github.com/AngelAuraMC/Amethyst-Android.git
synced 2025-09-17 16:47:14 -04:00
Fix the software mouse jumps
This commit is contained in:
parent
7904d91702
commit
51942115a9
@ -279,7 +279,11 @@ public class BaseMainActivity extends LoggableActivity {
|
|||||||
// and other input controls. In this case, you are only
|
// and other input controls. In this case, you are only
|
||||||
// interested in events where the touch position changed.
|
// interested in events where the touch position changed.
|
||||||
// int index = event.getActionIndex();
|
// int index = event.getActionIndex();
|
||||||
|
if(CallbackBridge.isGrabbing()) {
|
||||||
|
minecraftGLView.dispatchTouchEvent(MotionEvent.obtain(event));
|
||||||
|
System.out.println("Transitioned event" + event.hashCode() + " to MinecraftGLView");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
int action = event.getActionMasked();
|
int action = event.getActionMasked();
|
||||||
|
|
||||||
float x = event.getX();
|
float x = event.getX();
|
||||||
@ -295,7 +299,8 @@ public class BaseMainActivity extends LoggableActivity {
|
|||||||
float mouseY = mousePointer.getTranslationY();
|
float mouseY = mousePointer.getTranslationY();
|
||||||
|
|
||||||
if (gestureDetector.onTouchEvent(event)) {
|
if (gestureDetector.onTouchEvent(event)) {
|
||||||
|
mouse_x = (int) (mouseX * scaleFactor);
|
||||||
|
mouse_y = (int) (mouseY * scaleFactor);
|
||||||
CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor));
|
CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor));
|
||||||
CallbackBridge.sendMouseKeycode(rightOverride ? LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT : LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_LEFT);
|
CallbackBridge.sendMouseKeycode(rightOverride ? LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_RIGHT : LWJGLGLFWKeycode.GLFW_MOUSE_BUTTON_LEFT);
|
||||||
if (!rightOverride) {
|
if (!rightOverride) {
|
||||||
@ -314,8 +319,9 @@ public class BaseMainActivity extends LoggableActivity {
|
|||||||
case MotionEvent.ACTION_MOVE: // 2
|
case MotionEvent.ACTION_MOVE: // 2
|
||||||
mouseX = Math.max(0, Math.min(displayMetrics.widthPixels, mouseX + x - prevX));
|
mouseX = Math.max(0, Math.min(displayMetrics.widthPixels, mouseX + x - prevX));
|
||||||
mouseY = Math.max(0, Math.min(displayMetrics.heightPixels, mouseY + y - prevY));
|
mouseY = Math.max(0, Math.min(displayMetrics.heightPixels, mouseY + y - prevY));
|
||||||
|
mouse_x = (int) (mouseX * scaleFactor);
|
||||||
|
mouse_y = (int) (mouseY * scaleFactor);
|
||||||
placeMouseAt(mouseX, mouseY);
|
placeMouseAt(mouseX, mouseY);
|
||||||
|
|
||||||
CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor));
|
CallbackBridge.sendCursorPos((int) (mouseX * scaleFactor), (int) (mouseY *scaleFactor));
|
||||||
/*
|
/*
|
||||||
if (!CallbackBridge.isGrabbing()) {
|
if (!CallbackBridge.isGrabbing()) {
|
||||||
@ -610,8 +616,8 @@ public class BaseMainActivity extends LoggableActivity {
|
|||||||
@Override
|
@Override
|
||||||
public boolean onCapturedPointer (View view, MotionEvent e) {
|
public boolean onCapturedPointer (View view, MotionEvent e) {
|
||||||
if(e.getHistorySize() > 0) {
|
if(e.getHistorySize() > 0) {
|
||||||
mouse_x += (int)(e.getX());
|
mouse_x += (int)(e.getX()*scaleFactor);
|
||||||
mouse_y += (int)(e.getY());
|
mouse_y += (int)(e.getY()*scaleFactor);
|
||||||
}
|
}
|
||||||
CallbackBridge.mouseX = mouse_x;
|
CallbackBridge.mouseX = mouse_x;
|
||||||
CallbackBridge.mouseY = mouse_y;
|
CallbackBridge.mouseY = mouse_y;
|
||||||
@ -788,9 +794,10 @@ public class BaseMainActivity extends LoggableActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
boolean isKeyboard(KeyEvent evt) {
|
boolean isKeyboard(KeyEvent evt) {
|
||||||
if((evt.getFlags() & KeyEvent.FLAG_SOFT_KEYBOARD) == KeyEvent.FLAG_SOFT_KEYBOARD) return true;
|
System.out.println("Event:" +evt);
|
||||||
if(evt.getSource() == InputDevice.SOURCE_KEYBOARD) return true;
|
//if((evt.getFlags() & KeyEvent.FLAG_SOFT_KEYBOARD) == KeyEvent.FLAG_SOFT_KEYBOARD) return true;
|
||||||
if(evt.getUnicodeChar() != 0) return true;
|
//if(evt.getSource() == InputDevice.SOURCE_KEYBOARD) return true;
|
||||||
|
//if(evt.getUnicodeChar() != 0) return true;
|
||||||
if(AndroidLWJGLKeycode.androidToLwjglMap.containsKey(evt.getKeyCode())) return true;
|
if(AndroidLWJGLKeycode.androidToLwjglMap.containsKey(evt.getKeyCode())) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user