Eventmaps voor de Rumblepad en Extreme3D toegevoegd. Bug verholpen die error tot gevolg had bij onsuccesvolle verbinding met een JavaInputDevice. De acties worden nu ook in het feedback scherm getoond.
De Rumblepad werkt uitstekend, bij de Extreme3D werken alleen Directionals, hoe kan dat?
This commit is contained in:
@@ -35,6 +35,7 @@ public abstract class JavaInputDevice extends Device {
|
|||||||
log.debug(jxinputDevice);
|
log.debug(jxinputDevice);
|
||||||
javaInputListener = new JavaInputListener(this, jxinputDevice);
|
javaInputListener = new JavaInputListener(this, jxinputDevice);
|
||||||
} catch (DeviceNotFoundException e) {
|
} catch (DeviceNotFoundException e) {
|
||||||
|
active = false;
|
||||||
throw new ActivateException();
|
throw new ActivateException();
|
||||||
}
|
}
|
||||||
javaInputListener.activate();
|
javaInputListener.activate();
|
||||||
@@ -47,7 +48,7 @@ public abstract class JavaInputDevice extends Device {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void processEvent(JXInputAxisEvent event) {
|
public void processEvent(JXInputAxisEvent event) {
|
||||||
log.trace("JXInputAxisEvent: " + event);
|
//log.trace("JXInputAxisEvent: " + event);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void processEvent(JXInputButtonEvent event) throws ButtonException {
|
public void processEvent(JXInputButtonEvent event) throws ButtonException {
|
||||||
|
|||||||
@@ -1,19 +1,12 @@
|
|||||||
package mimis.device.javainput.extreme3d;
|
package mimis.device.javainput.extreme3d;
|
||||||
|
|
||||||
import mimis.Button;
|
import mimis.Button;
|
||||||
import mimis.Macro;
|
|
||||||
import mimis.device.javainput.DirectionButton;
|
import mimis.device.javainput.DirectionButton;
|
||||||
import mimis.device.javainput.JavaInputDevice;
|
import mimis.device.javainput.JavaInputDevice;
|
||||||
import mimis.event.Task;
|
|
||||||
import mimis.exception.MacroException;
|
|
||||||
import mimis.exception.button.UnknownButtonException;
|
import mimis.exception.button.UnknownButtonException;
|
||||||
import mimis.exception.button.UnknownDirectionException;
|
import mimis.exception.button.UnknownDirectionException;
|
||||||
import mimis.exception.worker.ActivateException;
|
import mimis.exception.worker.ActivateException;
|
||||||
import mimis.sequence.state.Hold;
|
|
||||||
import mimis.sequence.state.Press;
|
|
||||||
import mimis.sequence.state.Release;
|
|
||||||
import mimis.value.Action;
|
|
||||||
import mimis.value.Target;
|
|
||||||
import de.hardcode.jxinput.event.JXInputButtonEvent;
|
import de.hardcode.jxinput.event.JXInputButtonEvent;
|
||||||
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
|
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
|
||||||
|
|
||||||
@@ -21,30 +14,18 @@ public class Extreme3DDevice extends JavaInputDevice {
|
|||||||
protected static final String TITLE = "Extreme 3D";
|
protected static final String TITLE = "Extreme 3D";
|
||||||
protected static final String NAME = "Logitech Extreme 3D";
|
protected static final String NAME = "Logitech Extreme 3D";
|
||||||
|
|
||||||
|
protected static Extreme3DEventMapCycle eventMapCycle;
|
||||||
|
|
||||||
public Extreme3DDevice() {
|
public Extreme3DDevice() {
|
||||||
super(TITLE, NAME);
|
super(TITLE, NAME);
|
||||||
|
eventMapCycle = new Extreme3DEventMapCycle();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void activate() throws ActivateException {
|
public void activate() throws ActivateException {
|
||||||
super.activate();
|
super.activate();
|
||||||
try {
|
add(eventMapCycle.mimis);
|
||||||
add(
|
add(eventMapCycle.player);
|
||||||
new Press(Extreme3DButton.TWELVE),
|
add(eventMapCycle.like);
|
||||||
new Task(Target.APPLICATION, Action.TEST));
|
|
||||||
add(
|
|
||||||
new Macro(
|
|
||||||
new Hold(Extreme3DButton.ONE),
|
|
||||||
new Press(Extreme3DButton.TWO),
|
|
||||||
new Press(Extreme3DButton.ELEVEN),
|
|
||||||
new Release(Extreme3DButton.ONE)),
|
|
||||||
new Task(Target.MIMIS, Action.EXIT));
|
|
||||||
} catch (MacroException e) {
|
|
||||||
log.error(e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void initialise() {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {
|
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package mimis.device.javainput.extreme3d;
|
||||||
|
|
||||||
|
import mimis.device.EventMapCycle;
|
||||||
|
import mimis.device.javainput.DirectionButton;
|
||||||
|
import mimis.event.Task;
|
||||||
|
import mimis.sequence.EventMap;
|
||||||
|
import mimis.sequence.state.Press;
|
||||||
|
import mimis.value.Action;
|
||||||
|
import mimis.value.Target;
|
||||||
|
|
||||||
|
public class Extreme3DEventMapCycle extends EventMapCycle {
|
||||||
|
protected static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public EventMap mimis, player, like;
|
||||||
|
|
||||||
|
public Extreme3DEventMapCycle() {
|
||||||
|
/* Mimis */
|
||||||
|
mimis = new EventMap();
|
||||||
|
mimis.add(
|
||||||
|
new Press(Extreme3DButton.SEVEN),
|
||||||
|
new Task(Target.MIMIS, Action.PREVIOUS));
|
||||||
|
mimis.add(
|
||||||
|
new Press(Extreme3DButton.EIGHT),
|
||||||
|
new Task(Target.MIMIS, Action.NEXT));
|
||||||
|
add(mimis);
|
||||||
|
|
||||||
|
/* Player */
|
||||||
|
player = new EventMap();
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.ONE),
|
||||||
|
new Task(Target.APPLICATION, Action.PLAY));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.TWO),
|
||||||
|
new Task(Target.APPLICATION, Action.MUTE));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.NINE),
|
||||||
|
new Task(Target.APPLICATION, Action.SHUFFLE));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.TEN),
|
||||||
|
new Task(Target.APPLICATION, Action.REPEAT));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.SIX),
|
||||||
|
new Task(Target.APPLICATION, Action.NEXT));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.FOUR),
|
||||||
|
new Task(Target.APPLICATION, Action.PREVIOUS));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.FIVE),
|
||||||
|
new Task(Target.APPLICATION, Action.FORWARD));
|
||||||
|
player.add(
|
||||||
|
new Press(Extreme3DButton.THREE),
|
||||||
|
new Task(Target.APPLICATION, Action.REWIND));
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.SOUTH),
|
||||||
|
new Task(Target.APPLICATION, Action.VOLUME_DOWN));
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.NORTH),
|
||||||
|
new Task(Target.APPLICATION, Action.VOLUME_UP));
|
||||||
|
add(player);
|
||||||
|
|
||||||
|
like = new EventMap();
|
||||||
|
like.add(
|
||||||
|
new Press(Extreme3DButton.ELEVEN),
|
||||||
|
new Task(Target.APPLICATION, Action.LIKE));
|
||||||
|
like.add(
|
||||||
|
new Press(Extreme3DButton.TWELVE),
|
||||||
|
new Task(Target.APPLICATION, Action.DISLIKE));
|
||||||
|
add(like);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,13 +3,9 @@ package mimis.device.javainput.rumblepad;
|
|||||||
import mimis.Button;
|
import mimis.Button;
|
||||||
import mimis.device.javainput.DirectionButton;
|
import mimis.device.javainput.DirectionButton;
|
||||||
import mimis.device.javainput.JavaInputDevice;
|
import mimis.device.javainput.JavaInputDevice;
|
||||||
import mimis.event.Task;
|
|
||||||
import mimis.exception.button.UnknownButtonException;
|
import mimis.exception.button.UnknownButtonException;
|
||||||
import mimis.exception.button.UnknownDirectionException;
|
import mimis.exception.button.UnknownDirectionException;
|
||||||
import mimis.exception.worker.ActivateException;
|
import mimis.exception.worker.ActivateException;
|
||||||
import mimis.sequence.state.Press;
|
|
||||||
import mimis.value.Action;
|
|
||||||
import mimis.value.Target;
|
|
||||||
|
|
||||||
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,39 +14,18 @@ public class RumblepadDevice extends JavaInputDevice {
|
|||||||
protected static final String TITLE = "RumblePad";
|
protected static final String TITLE = "RumblePad";
|
||||||
protected static final String NAME = "Logitech RumblePad 2 USB";
|
protected static final String NAME = "Logitech RumblePad 2 USB";
|
||||||
|
|
||||||
|
protected static RumblepadEventMapCycle eventMapCycle;
|
||||||
|
|
||||||
public RumblepadDevice() {
|
public RumblepadDevice() {
|
||||||
super(TITLE, NAME);
|
super(TITLE, NAME);
|
||||||
|
eventMapCycle = new RumblepadEventMapCycle();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void activate() throws ActivateException {
|
public void activate() throws ActivateException {
|
||||||
super.activate();
|
super.activate();
|
||||||
add(
|
add(eventMapCycle.mimis);
|
||||||
new Press(RumblepadButton.ONE),
|
add(eventMapCycle.player);
|
||||||
new Task(Target.APPLICATION, Action.PLAY));
|
add(eventMapCycle.like);
|
||||||
add(
|
|
||||||
new Press(RumblepadButton.TWO),
|
|
||||||
new Task(Target.APPLICATION, Action.PAUSE));
|
|
||||||
add(
|
|
||||||
new Press(RumblepadButton.THREE),
|
|
||||||
new Task(Target.APPLICATION, Action.RESUME));
|
|
||||||
add(
|
|
||||||
new Press(RumblepadButton.SIX),
|
|
||||||
new Task(Target.MIMIS, Action.NEXT));
|
|
||||||
add(
|
|
||||||
new Press(RumblepadButton.EIGHT),
|
|
||||||
new Task(Target.MIMIS, Action.PREVIOUS));
|
|
||||||
/*add(
|
|
||||||
new Hold(RumblepadButton.FIVE),
|
|
||||||
new Dynamic(Action.FORWARD, Target.APPLICATION, 200, -30));
|
|
||||||
add(
|
|
||||||
new Hold(RumblepadButton.SEVEN),
|
|
||||||
new Dynamic(Action.REWIND, Target.APPLICATION, 200, -30));
|
|
||||||
add(
|
|
||||||
new Hold(RumblepadButton.NINE),
|
|
||||||
new Continuous(Action.VOLUME_DOWN, Target.APPLICATION, 100));
|
|
||||||
add(
|
|
||||||
new Hold(RumblepadButton.TEN),
|
|
||||||
new Continuous(Action.VOLUME_UP, Target.APPLICATION, 100));*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {
|
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {
|
||||||
|
|||||||
@@ -0,0 +1,70 @@
|
|||||||
|
package mimis.device.javainput.rumblepad;
|
||||||
|
|
||||||
|
import mimis.device.EventMapCycle;
|
||||||
|
import mimis.device.javainput.DirectionButton;
|
||||||
|
import mimis.event.Task;
|
||||||
|
import mimis.sequence.EventMap;
|
||||||
|
import mimis.sequence.state.Press;
|
||||||
|
import mimis.value.Action;
|
||||||
|
import mimis.value.Target;
|
||||||
|
|
||||||
|
public class RumblepadEventMapCycle extends EventMapCycle {
|
||||||
|
protected static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
public EventMap mimis, player, like;
|
||||||
|
|
||||||
|
public RumblepadEventMapCycle() {
|
||||||
|
/* Mimis */
|
||||||
|
mimis = new EventMap();
|
||||||
|
mimis.add(
|
||||||
|
new Press(RumblepadButton.ONE),
|
||||||
|
new Task(Target.MIMIS, Action.PREVIOUS));
|
||||||
|
mimis.add(
|
||||||
|
new Press(RumblepadButton.THREE),
|
||||||
|
new Task(Target.MIMIS, Action.NEXT));
|
||||||
|
add(mimis);
|
||||||
|
|
||||||
|
/* Player */
|
||||||
|
player = new EventMap();
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.WEST),
|
||||||
|
new Task(Target.APPLICATION, Action.PLAY));
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.EAST),
|
||||||
|
new Task(Target.APPLICATION, Action.MUTE));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.NINE),
|
||||||
|
new Task(Target.APPLICATION, Action.SHUFFLE));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.TEN),
|
||||||
|
new Task(Target.APPLICATION, Action.REPEAT));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.EIGHT),
|
||||||
|
new Task(Target.APPLICATION, Action.NEXT));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.SIX),
|
||||||
|
new Task(Target.APPLICATION, Action.PREVIOUS));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.SEVEN),
|
||||||
|
new Task(Target.APPLICATION, Action.FORWARD));
|
||||||
|
player.add(
|
||||||
|
new Press(RumblepadButton.FIVE),
|
||||||
|
new Task(Target.APPLICATION, Action.REWIND));
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.SOUTH),
|
||||||
|
new Task(Target.APPLICATION, Action.VOLUME_DOWN));
|
||||||
|
player.add(
|
||||||
|
new Press(DirectionButton.NORTH),
|
||||||
|
new Task(Target.APPLICATION, Action.VOLUME_UP));
|
||||||
|
add(player);
|
||||||
|
|
||||||
|
like = new EventMap();
|
||||||
|
like.add(
|
||||||
|
new Press(RumblepadButton.FOUR),
|
||||||
|
new Task(Target.APPLICATION, Action.LIKE));
|
||||||
|
like.add(
|
||||||
|
new Press(RumblepadButton.TWO),
|
||||||
|
new Task(Target.APPLICATION, Action.DISLIKE));
|
||||||
|
add(like);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,8 +1,10 @@
|
|||||||
package mimis.event.router;
|
package mimis.event.router;
|
||||||
|
|
||||||
import mimis.Event;
|
import mimis.Event;
|
||||||
|
import mimis.event.Task;
|
||||||
import mimis.event.EventListener;
|
import mimis.event.EventListener;
|
||||||
import mimis.event.EventRouter;
|
import mimis.event.EventRouter;
|
||||||
|
import mimis.feedback.TextFeedback;
|
||||||
import mimis.value.Target;
|
import mimis.value.Target;
|
||||||
|
|
||||||
public class LocalRouter extends EventRouter {
|
public class LocalRouter extends EventRouter {
|
||||||
@@ -13,6 +15,11 @@ public class LocalRouter extends EventRouter {
|
|||||||
if (application != null) {
|
if (application != null) {
|
||||||
application.add(event);
|
application.add(event);
|
||||||
}
|
}
|
||||||
|
if (event instanceof Task) {
|
||||||
|
Task task = (Task) event;
|
||||||
|
add(new TextFeedback("Action: " + task.getAction()));
|
||||||
|
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
for (EventListener eventListener : eventListenerList) {
|
for (EventListener eventListener : eventListenerList) {
|
||||||
|
|||||||
Reference in New Issue
Block a user