From 2d7a9ca8068ebf051fa05527be94ae111eafe8e9 Mon Sep 17 00:00:00 2001 From: Naohide Sano Date: Tue, 30 Jan 2024 21:48:33 +0900 Subject: [PATCH 1/2] [osx] apply hid enviroment --- .../games/input/osx/OSXEnvironmentPlugin.java | 13 ++++++++++- .../input/osx/plugin/DualShock4Plugin.java | 2 -- .../java/games/input/osx/OSXPluginTest.java | 22 ++++++------------- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/plugins/OSX/src/main/java/net/java/games/input/osx/OSXEnvironmentPlugin.java b/plugins/OSX/src/main/java/net/java/games/input/osx/OSXEnvironmentPlugin.java index 352ebafc..1bf3184d 100755 --- a/plugins/OSX/src/main/java/net/java/games/input/osx/OSXEnvironmentPlugin.java +++ b/plugins/OSX/src/main/java/net/java/games/input/osx/OSXEnvironmentPlugin.java @@ -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; @@ -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; @@ -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()); @@ -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(); + } } diff --git a/plugins/OSX/src/main/java/net/java/games/input/osx/plugin/DualShock4Plugin.java b/plugins/OSX/src/main/java/net/java/games/input/osx/plugin/DualShock4Plugin.java index 0ae1f2b2..3755bcad 100644 --- a/plugins/OSX/src/main/java/net/java/games/input/osx/plugin/DualShock4Plugin.java +++ b/plugins/OSX/src/main/java/net/java/games/input/osx/plugin/DualShock4Plugin.java @@ -29,8 +29,6 @@ /** * DualShock4Plugin. * - * TODO extract osx independent part - * * @author Naohide Sano (nsano) * @version 0.00 2023-10-24 nsano initial version
*/ diff --git a/plugins/OSX/src/test/java/net/java/games/input/osx/OSXPluginTest.java b/plugins/OSX/src/test/java/net/java/games/input/osx/OSXPluginTest.java index 28ce46b2..c289ff76 100644 --- a/plugins/OSX/src/test/java/net/java/games/input/osx/OSXPluginTest.java +++ b/plugins/OSX/src/test/java/net/java/games/input/osx/OSXPluginTest.java @@ -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 @@ -73,12 +73,8 @@ 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); } @@ -86,12 +82,8 @@ void test3() throws Exception { @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; From ab1edb2552bda5579a4a1b33451f4d65124c3d5e Mon Sep 17 00:00:00 2001 From: Naohide Sano Date: Thu, 1 Feb 2024 19:42:14 +0900 Subject: [PATCH 2/2] bump version --- README.md | 1 + coreAPI/pom.xml | 2 +- examples/pom.xml | 2 +- plugins/OSX/pom.xml | 2 +- plugins/awt/pom.xml | 2 +- plugins/linux/pom.xml | 2 +- plugins/pom.xml | 2 +- plugins/windows/pom.xml | 2 +- plugins/wintab/pom.xml | 2 +- pom.xml | 2 +- tests/pom.xml | 2 +- 11 files changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 6e56253f..def21015 100644 --- a/README.md +++ b/README.md @@ -35,3 +35,4 @@ Licensed under [BSD License](https://opensource.org/licenses/BSD-3-Clause), copy * backport cf lib to rococoa * separate jna parts as jna-platform-extended? * ~~at windows, i mistake dword as 2byte~~ +* component value should be generics? (currently float fixed) diff --git a/coreAPI/pom.xml b/coreAPI/pom.xml index c57dc7b0..e4a1fd68 100644 --- a/coreAPI/pom.xml +++ b/coreAPI/pom.xml @@ -5,7 +5,7 @@ net.java.jinput jinput-parent - 2.0.15v + 2.0.16v coreapi diff --git a/examples/pom.xml b/examples/pom.xml index 637f680b..6b10075c 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -5,7 +5,7 @@ net.java.jinput jinput-parent - 2.0.15v + 2.0.16v examples diff --git a/plugins/OSX/pom.xml b/plugins/OSX/pom.xml index 4adf1c11..eececbad 100644 --- a/plugins/OSX/pom.xml +++ b/plugins/OSX/pom.xml @@ -5,7 +5,7 @@ net.java.jinput plugins - 2.0.15v + 2.0.16v osx-plugin diff --git a/plugins/awt/pom.xml b/plugins/awt/pom.xml index c533d9f5..074b9bc6 100644 --- a/plugins/awt/pom.xml +++ b/plugins/awt/pom.xml @@ -5,7 +5,7 @@ net.java.jinput plugins - 2.0.15v + 2.0.16v awt-plugin diff --git a/plugins/linux/pom.xml b/plugins/linux/pom.xml index 23557423..e5b5b63c 100644 --- a/plugins/linux/pom.xml +++ b/plugins/linux/pom.xml @@ -5,7 +5,7 @@ net.java.jinput plugins - 2.0.15v + 2.0.16v linux-plugin diff --git a/plugins/pom.xml b/plugins/pom.xml index 6fc84cd4..e8a52121 100644 --- a/plugins/pom.xml +++ b/plugins/pom.xml @@ -5,7 +5,7 @@ net.java.jinput jinput-parent - 2.0.15v + 2.0.16v plugins diff --git a/plugins/windows/pom.xml b/plugins/windows/pom.xml index b970cbc6..a825d85b 100644 --- a/plugins/windows/pom.xml +++ b/plugins/windows/pom.xml @@ -5,7 +5,7 @@ net.java.jinput plugins - 2.0.15v + 2.0.16v windows-plugin diff --git a/plugins/wintab/pom.xml b/plugins/wintab/pom.xml index 6f9b8762..06f4bedb 100644 --- a/plugins/wintab/pom.xml +++ b/plugins/wintab/pom.xml @@ -5,7 +5,7 @@ net.java.jinput plugins - 2.0.15v + 2.0.16v ../ diff --git a/pom.xml b/pom.xml index b787092c..f720fe03 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ net.java.jinput jinput-parent - 2.0.15v + 2.0.16v pom JInput diff --git a/tests/pom.xml b/tests/pom.xml index 8e6b9996..92328ed0 100644 --- a/tests/pom.xml +++ b/tests/pom.xml @@ -5,7 +5,7 @@ net.java.jinput jinput-parent - 2.0.15v + 2.0.16v tests