Implement horizontal scrolling with Sunshine

This commit is contained in:
Cameron Gutman
2023-02-20 19:56:01 -06:00
parent 91dd7b7049
commit f4df0714b5
7 changed files with 42 additions and 14 deletions

View File

@@ -38,7 +38,8 @@ public class EvdevCaptureProvider extends InputCaptureProvider {
public void run() {
int deltaX = 0;
int deltaY = 0;
byte deltaScroll = 0;
byte deltaVScroll = 0;
byte deltaHScroll = 0;
// Bind a local listening socket for evdevreader to connect to
try {
@@ -115,9 +116,13 @@ public class EvdevCaptureProvider extends InputCaptureProvider {
listener.mouseMove(deltaX, deltaY);
deltaX = deltaY = 0;
}
if (deltaScroll != 0) {
listener.mouseScroll(deltaScroll);
deltaScroll = 0;
if (deltaVScroll != 0) {
listener.mouseVScroll(deltaVScroll);
deltaVScroll = 0;
}
if (deltaHScroll != 0) {
listener.mouseHScroll(deltaHScroll);
deltaHScroll = 0;
}
break;
@@ -129,8 +134,11 @@ public class EvdevCaptureProvider extends InputCaptureProvider {
case EvdevEvent.REL_Y:
deltaY = event.value;
break;
case EvdevEvent.REL_HWHEEL:
deltaHScroll = (byte) event.value;
break;
case EvdevEvent.REL_WHEEL:
deltaScroll = (byte) event.value;
deltaVScroll = (byte) event.value;
break;
}
break;

View File

@@ -13,6 +13,7 @@ public class EvdevEvent {
/* Relative axes */
public static final short REL_X = 0x00;
public static final short REL_Y = 0x01;
public static final short REL_HWHEEL = 0x06;
public static final short REL_WHEEL = 0x08;
/* Buttons */