mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-20 11:33:06 +00:00
Add vertical mouse scrolling support
This commit is contained in:
parent
ef1429a639
commit
cde8ec8262
Binary file not shown.
@ -503,9 +503,19 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0)
|
else if ((event.getSource() & InputDevice.SOURCE_CLASS_POINTER) != 0)
|
||||||
{
|
{
|
||||||
// Send a mouse move update (if neccessary)
|
switch (event.getActionMasked())
|
||||||
updateMousePosition((int)event.getX(), (int)event.getY());
|
{
|
||||||
|
case MotionEvent.ACTION_HOVER_MOVE:
|
||||||
|
// Send a mouse move update (if neccessary)
|
||||||
|
updateMousePosition((int)event.getX(), (int)event.getY());
|
||||||
|
break;
|
||||||
|
case MotionEvent.ACTION_SCROLL:
|
||||||
|
// Send the vertical scroll packet
|
||||||
|
byte vScrollClicks = (byte) event.getAxisValue(MotionEvent.AXIS_VSCROLL);
|
||||||
|
conn.sendMouseScroll(vScrollClicks);
|
||||||
|
break;
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -680,4 +690,9 @@ public class Game extends Activity implements SurfaceHolder.Callback,
|
|||||||
conn.sendMouseButtonUp(buttonIndex);
|
conn.sendMouseButtonUp(buttonIndex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void mouseScroll(byte amount) {
|
||||||
|
conn.sendMouseScroll(amount);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@ public class EvdevEvent {
|
|||||||
/* Relative axes */
|
/* Relative axes */
|
||||||
public static final short REL_X = 0x00;
|
public static final short REL_X = 0x00;
|
||||||
public static final short REL_Y = 0x01;
|
public static final short REL_Y = 0x01;
|
||||||
|
public static final short REL_WHEEL = 0x08;
|
||||||
|
|
||||||
/* Buttons */
|
/* Buttons */
|
||||||
public static final short BTN_LEFT = 0x110;
|
public static final short BTN_LEFT = 0x110;
|
||||||
|
@ -45,6 +45,7 @@ public class EvdevHandler {
|
|||||||
try {
|
try {
|
||||||
int deltaX = 0;
|
int deltaX = 0;
|
||||||
int deltaY = 0;
|
int deltaY = 0;
|
||||||
|
byte deltaScroll = 0;
|
||||||
|
|
||||||
while (!isInterrupted() && !shutdown) {
|
while (!isInterrupted() && !shutdown) {
|
||||||
EvdevEvent event = EvdevReader.read(fd, buffer);
|
EvdevEvent event = EvdevReader.read(fd, buffer);
|
||||||
@ -59,6 +60,10 @@ public class EvdevHandler {
|
|||||||
listener.mouseMove(deltaX, deltaY);
|
listener.mouseMove(deltaX, deltaY);
|
||||||
deltaX = deltaY = 0;
|
deltaX = deltaY = 0;
|
||||||
}
|
}
|
||||||
|
if (deltaScroll != 0) {
|
||||||
|
listener.mouseScroll(deltaScroll);
|
||||||
|
deltaScroll = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EvdevEvent.EV_REL:
|
case EvdevEvent.EV_REL:
|
||||||
@ -70,6 +75,9 @@ public class EvdevHandler {
|
|||||||
case EvdevEvent.REL_Y:
|
case EvdevEvent.REL_Y:
|
||||||
deltaY = event.value;
|
deltaY = event.value;
|
||||||
break;
|
break;
|
||||||
|
case EvdevEvent.REL_WHEEL:
|
||||||
|
deltaScroll = (byte) event.value;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -7,4 +7,5 @@ public interface EvdevListener {
|
|||||||
|
|
||||||
public void mouseMove(int deltaX, int deltaY);
|
public void mouseMove(int deltaX, int deltaY);
|
||||||
public void mouseButtonEvent(int buttonId, boolean down);
|
public void mouseButtonEvent(int buttonId, boolean down);
|
||||||
|
public void mouseScroll(byte amount);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user