RumblepadDevice aangepast aan nieuwe actions systeem. Enkele problemen worden duidelijk:

- Toevoegen van release event mist bij opgeven van slechts press.
- Verschillende macro's lopen door elkaar / stoppen niet.
- iTunes's playPause functionaliteit lijkt next te invoken.
This commit is contained in:
2011-02-12 22:34:43 +00:00
parent 8092b678cf
commit d62a354d9a
2 changed files with 34 additions and 35 deletions

View File

@@ -6,6 +6,7 @@ import pm.application.Winamp.WinampApplication;
import pm.application.example.ExampleApplication; import pm.application.example.ExampleApplication;
import pm.application.iTunes.iTunesApplication; import pm.application.iTunes.iTunesApplication;
import pm.device.gui.GUIDevice; import pm.device.gui.GUIDevice;
import pm.device.javainput.rumblepad.RumblepadDevice;
import pm.device.jintellitype.JIntellitypeDevice; import pm.device.jintellitype.JIntellitypeDevice;
import pm.exception.application.ApplicationExitException; import pm.exception.application.ApplicationExitException;
import pm.exception.device.DeviceExitException; import pm.exception.device.DeviceExitException;
@@ -33,7 +34,7 @@ public class Main extends TaskListener {
public void initialise() throws DeviceInitialiseException { public void initialise() throws DeviceInitialiseException {
add(new JIntellitypeDevice()); add(new JIntellitypeDevice());
//add(new RumblepadDevice()); add(new RumblepadDevice());
//add(new GUIDevice()); //add(new GUIDevice());
for (Device device : deviceList) { for (Device device : deviceList) {
device.initialise(); device.initialise();
@@ -41,8 +42,8 @@ public class Main extends TaskListener {
add(new ExampleApplication()); add(new ExampleApplication());
//add(new WinampApplication()); //add(new WinampApplication());
//add(new iTunesApplication()); add(new iTunesApplication());
//applicationCycle.next(); applicationCycle.next();
for (Application application : applicationCycle) { for (Application application : applicationCycle) {
application.start(); application.start();
} }

View File

@@ -3,13 +3,15 @@ package pm.device.javainput.rumblepad;
import pm.Action; import pm.Action;
import pm.Button; import pm.Button;
import pm.Target; import pm.Target;
import pm.Task;
import pm.device.javainput.DirectionButton; import pm.device.javainput.DirectionButton;
import pm.device.javainput.JavaInputDevice; import pm.device.javainput.JavaInputDevice;
import pm.exception.MacroException;
import pm.exception.device.DeviceInitialiseException; import pm.exception.device.DeviceInitialiseException;
import pm.exception.event.UnknownButtonException; import pm.exception.event.UnknownButtonException;
import pm.exception.event.UnknownDirectionException; import pm.exception.event.UnknownDirectionException;
import pm.macro.event.Hold;
import pm.macro.event.Press; import pm.macro.event.Press;
import pm.task.Continuous;
import de.hardcode.jxinput.event.JXInputButtonEvent; import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent; import de.hardcode.jxinput.event.JXInputDirectionalEvent;
@@ -18,37 +20,33 @@ public class RumblepadDevice extends JavaInputDevice {
public void initialise() throws DeviceInitialiseException { public void initialise() throws DeviceInitialiseException {
super.initialise(NAME); super.initialise(NAME);
try { add(
add( new Press(RumblepadButton.ONE),
new Press(RumblepadButton.ONE), new Task(Action.PLAY, Target.APPLICATION));
Action.PLAY.setTarget(Target.APPLICATION)); add(
add( new Press(RumblepadButton.TWO),
new Press(RumblepadButton.TWO), new Task(Action.PAUSE, Target.APPLICATION));
Action.PAUSE.setTarget(Target.APPLICATION)); add(
add( new Press(RumblepadButton.THREE),
new Press(RumblepadButton.THREE), new Task(Action.RESUME, Target.APPLICATION));
Action.RESUME.setTarget(Target.APPLICATION)); add(
add( new Press(RumblepadButton.SIX),
new Press(RumblepadButton.SIX), new Task(Action.NEXT, Target.APPLICATION));
Action.NEXT.setTarget(Target.APPLICATION)); add(
add( new Press(RumblepadButton.EIGHT),
new Press(RumblepadButton.EIGHT), new Task(Action.PREVIOUS, Target.APPLICATION));
Action.PREVIOUS.setTarget(Target.APPLICATION)); add(
add( new Hold(RumblepadButton.FIVE),
new Press(RumblepadButton.FIVE), new Continuous(Action.FORWARD, Target.APPLICATION, 300));
Action.FORWARD.setTarget(Target.APPLICATION)); add(
add( new Hold(RumblepadButton.SEVEN),
new Press(RumblepadButton.SEVEN), new Continuous(Action.REWIND, Target.APPLICATION, 300));
Action.REWIND.setTarget(Target.APPLICATION)); add(
add( new Hold(RumblepadButton.NINE),
new Press(RumblepadButton.NINE), new Continuous(Action.VOLUME_DOWN, Target.APPLICATION, 100));
Action.VOLUME_DOWN.setTarget(Target.APPLICATION)); add(
add( new Hold(RumblepadButton.TEN),
new Press(RumblepadButton.TEN), new Continuous(Action.VOLUME_UP, Target.APPLICATION, 100));
Action.VOLUME_UP.setTarget(Target.APPLICATION));
} catch (MacroException e) {
e.printStackTrace();
}
} }
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException { protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {