Files
mimis/java/src/pm/device/javainput/extreme3d/Extreme3DDevice.java
2011-05-06 08:10:28 +00:00

50 lines
1.7 KiB
Java

package pm.device.javainput.extreme3d;
import pm.Button;
import pm.Macro;
import pm.device.javainput.DirectionButton;
import pm.device.javainput.JavaInputDevice;
import pm.event.Task;
import pm.exception.MacroException;
import pm.exception.button.UnknownButtonException;
import pm.exception.button.UnknownDirectionException;
import pm.exception.device.DeviceInitialiseException;
import pm.interrupt.Interruptible;
import pm.macro.state.Hold;
import pm.macro.state.Press;
import pm.macro.state.Release;
import pm.value.Action;
import pm.value.Target;
import de.hardcode.jxinput.event.JXInputButtonEvent;
import de.hardcode.jxinput.event.JXInputDirectionalEvent;
public class Extreme3DDevice extends JavaInputDevice {
protected static final String NAME = "Logitech Extreme 3D";
public void initialise() throws DeviceInitialiseException {
super.initialise(NAME);
try {
add(
new Press(Extreme3DButton.TWELVE),
new Task(Action.TEST, Target.APPLICATION));
add(
new Macro(
new Hold(Extreme3DButton.ONE),
new Press(Extreme3DButton.TWO),
new Press(Extreme3DButton.ELEVEN),
new Release(Extreme3DButton.ONE)),
new Task(Action.EXIT, Target.MAIN));
} catch (MacroException e) {
e.printStackTrace();
}
}
protected Button getButton(JXInputButtonEvent event) throws UnknownButtonException {
return Extreme3DButton.create(event);
}
protected Button getButton(JXInputDirectionalEvent event) throws UnknownDirectionException {
return DirectionButton.create(event);
}
}