Omzetten JavaInputButton naar flexibel automatisch systeem. Werkt bijna!

This commit is contained in:
2011-02-09 10:42:04 +00:00
parent 9b9faee388
commit 093a1b6659
6 changed files with 51 additions and 21 deletions

View File

@@ -2,40 +2,49 @@ package pm.device.javainput.rumblepad;
import de.hardcode.jxinput.event.JXInputButtonEvent;
import pm.Button;
import pm.device.javainput.JavaInputButton;
import pm.exception.event.UnknownButtonException;
public enum RumblepadButton implements Button {
ONE ("Button 0"),
TWO ("Button 1"),
THREE ("Button 2"),
FOUR ("Button 3"),
FIVE ("Button 4"),
SIX ("Button 5"),
SEVEN ("Button 6"),
EIGHT ("Button 7"),
NINE ("Button 8"),
TEN ("Button 9");
ONE (0),
TWO (1),
THREE (2),
FOUR (3),
FIVE (4),
SIX (5),
SEVEN (6),
EIGHT (7),
NINE (8),
TEN (9);
protected String code;
protected int code;
private RumblepadButton(String code) {
private RumblepadButton(int code) {
this.code = code;
}
public String getCode() {
public int getCode() {
return code;
}
public static RumblepadButton create(String code) throws UnknownButtonException {
public static JavaInputButton create(int code) throws UnknownButtonException {
for (RumblepadButton button : RumblepadButton.values()) {
if (button.getCode().equals(code)) {
return button;
if (button.getCode() == code) {
return new JavaInputButton(code + 1);
}
}
throw new UnknownButtonException();
}
public static RumblepadButton create(JXInputButtonEvent event) throws UnknownButtonException {
return create(event.getButton().getName());
public static JavaInputButton create(JXInputButtonEvent event) throws UnknownButtonException {
String name = event.getButton().getName();
String button = name.replaceFirst("Button ", "");
int code = Integer.valueOf(button);
//System.out.println(name + " " + button + " " + code);
return create(code);
}
public String toString() {
return String.valueOf(getCode());
}
}

View File

@@ -5,6 +5,7 @@ import pm.Button;
import pm.Macro;
import pm.Target;
import pm.device.javainput.EightfoldDirection;
import pm.device.javainput.JavaInputButton;
import pm.device.javainput.JavaInputDevice;
import pm.exception.DeviceException;
import pm.exception.MacroException;
@@ -35,9 +36,7 @@ public class RumblepadDevice extends JavaInputDevice {
new Press(RumblepadButton.THREE),
Action.RESUME.setTarget(Target.APPLICATION));
add(
new Macro(
new Press(RumblepadButton.NINE)
),
new Press(new JavaInputButton(9)),
Action.EXIT.setTarget(Target.MAIN));
} catch (MacroException e) {
e.printStackTrace();