From: <ka...@us...> - 2012-04-10 11:44:56
|
Revision: 3759 http://java-game-lib.svn.sourceforge.net/java-game-lib/?rev=3759&view=rev Author: kappa1 Date: 2012-04-10 11:44:50 +0000 (Tue, 10 Apr 2012) Log Message: ----------- Apply patch by OrangyTang to expose JInput's rumble functionality in LWJGL's Controller class. Modified Paths: -------------- trunk/LWJGL/src/java/org/lwjgl/input/Controller.java trunk/LWJGL/src/java/org/lwjgl/input/JInputController.java Modified: trunk/LWJGL/src/java/org/lwjgl/input/Controller.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/input/Controller.java 2012-03-27 13:12:30 UTC (rev 3758) +++ trunk/LWJGL/src/java/org/lwjgl/input/Controller.java 2012-04-10 11:44:50 UTC (rev 3759) @@ -270,4 +270,21 @@ * @param zone The dead zone to use for the RZ axis */ void setRZAxisDeadZone(float zone); + + + /** Returns the number of rumblers this controller supports */ + int getRumblerCount(); + + /** Returns the name of the specified rumbler + * + * @param index The rumbler index + */ + String getRumblerName(final int index); + + /** Sets the vibration strength of the specified rumbler + * + * @param index The index of the rumbler + * @param strength The strength to vibrate at + */ + void setRumblerStrength(final int index, final float strength); } Modified: trunk/LWJGL/src/java/org/lwjgl/input/JInputController.java =================================================================== --- trunk/LWJGL/src/java/org/lwjgl/input/JInputController.java 2012-03-27 13:12:30 UTC (rev 3758) +++ trunk/LWJGL/src/java/org/lwjgl/input/JInputController.java 2012-04-10 11:44:50 UTC (rev 3759) @@ -38,6 +38,7 @@ import net.java.games.input.Component.Identifier.Button; import net.java.games.input.Event; import net.java.games.input.EventQueue; +import net.java.games.input.Rumbler; /** * A wrapper round a JInput controller that attempts to make the interface @@ -56,6 +57,8 @@ private ArrayList<Component> axes = new ArrayList<Component>(); /** The POVs that have been detected on the JInput controller */ private ArrayList<Component> pov = new ArrayList<Component>(); + /** The rumblers exposed by the controller */ + private Rumbler[] rumblers; /** The state of the buttons last check */ private boolean[] buttonState; /** The values that were read from the pov last check */ @@ -86,7 +89,7 @@ * @param index The index this controller has been assigned to * @param target The target JInput controller this class is wrapping */ - JInputController(int index,net.java.games.input.Controller target) { + JInputController(final int index, net.java.games.input.Controller target) { this.target = target; this.index = index; @@ -148,6 +151,8 @@ axesMax[i] = 1.0f; deadZones[i] = 0.05f; } + + rumblers = target.getRumblers(); } /* @@ -506,5 +511,16 @@ return 0; } + public int getRumblerCount() { + return rumblers.length; + } + + public String getRumblerName(final int index) { + return rumblers[index].getAxisName(); + } + + public void setRumblerStrength(final int index, final float strength) { + rumblers[index].rumble(strength); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |