Skip to content

Commit

Permalink
[osx] apply hid enviroment
Browse files Browse the repository at this point in the history
  • Loading branch information
umjammer committed Jan 30, 2024
1 parent 3aa9f07 commit 2d7a9ca
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@

import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.StringTokenizer;
import java.util.logging.Level;
Expand All @@ -50,6 +51,7 @@
import net.java.games.input.PollingController;
import net.java.games.input.Rumbler;
import net.java.games.input.usb.GenericDesktopUsageId;
import net.java.games.input.usb.HidControllerEnvironment;
import net.java.games.input.usb.UsagePage;
import net.java.games.input.usb.UsagePair;

Expand All @@ -61,7 +63,7 @@
* @author gregorypierce
* @version 1.0
*/
public final class OSXEnvironmentPlugin extends ControllerEnvironment {
public final class OSXEnvironmentPlugin extends ControllerEnvironment implements HidControllerEnvironment {

private static final Logger log = Logger.getLogger(OSXEnvironmentPlugin.class.getName());

Expand Down Expand Up @@ -256,4 +258,13 @@ private void enumerateControllers() {
log.log(Level.FINE, "Failed to enumerate devices: " + e.getMessage(), e);
}
}

@Override
public OSXController getController(int mid, int pid) {
return Arrays.stream(getControllers())
.filter(c -> c instanceof OSXController)
.map(c -> (OSXController) c)
.filter(c -> c.getProductId() == pid && c.getVendorId() == mid)
.findFirst().get();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,6 @@
/**
* DualShock4Plugin.
*
* TODO extract osx independent part
*
* @author <a href="mailto:umjammer@gmail.com">Naohide Sano</a> (nsano)
* @version 0.00 2023-10-24 nsano initial version <br>
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,9 @@ void setup() throws Exception {

@Test
void test1() throws Exception {
OSXEnvironmentPlugin plugin = new OSXEnvironmentPlugin();
Debug.println("getControllers: " + plugin.getControllers().length);
Arrays.stream(plugin.getControllers()).forEach(System.err::println);
OSXEnvironmentPlugin environment = new OSXEnvironmentPlugin();
Debug.println("getControllers: " + environment.getControllers().length);
Arrays.stream(environment.getControllers()).forEach(System.err::println);
}

@Test
Expand All @@ -73,25 +73,17 @@ void test2() throws Exception {
@EnabledIf("localPropertiesExists")
@DisplayName("components count")
void test3() throws Exception {
OSXEnvironmentPlugin plugin = new OSXEnvironmentPlugin();
OSXController controller = Arrays.stream(plugin.getControllers())
.filter(c -> c instanceof OSXController)
.map(c -> (OSXController) c)
.filter(c -> c.getProductId() == productId && c.getVendorId() == vendorId)
.findFirst().get();
OSXEnvironmentPlugin environment = new OSXEnvironmentPlugin();
OSXController controller = environment.getController(vendorId, productId);
assertEquals(21, controller.getComponents().length);
}

@Test
@EnabledIf("localPropertiesExists")
@DisplayName("rumbler")
void test4() throws Exception {
OSXEnvironmentPlugin plugin = new OSXEnvironmentPlugin();
OSXController controller = Arrays.stream(plugin.getControllers())
.filter(c -> c instanceof OSXController)
.map(c -> (OSXController) c)
.filter(c -> c.getProductId() == productId && c.getVendorId() == vendorId)
.findFirst().get();
OSXEnvironmentPlugin environment = new OSXEnvironmentPlugin();
OSXController controller = environment.getController(vendorId, productId);

Report5 report = new Report5();
report.smallRumble = 255;
Expand Down

0 comments on commit 2d7a9ca

Please sign in to comment.