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

@@ -0,0 +1,15 @@
package pm.device.javainput;
import pm.Button;
public class JavaInputButton implements Button {
protected int code;
public JavaInputButton(int button) {
code = button - 1;
}
public String toString() {
return String.valueOf(code + 1);
}
}

View File

@@ -53,7 +53,9 @@ public abstract class JavaInputDevice extends Device {
add(new Press(button)); add(new Press(button));
} else { } else {
System.out.println("Release: " + button); System.out.println("Release: " + button);
System.out.println(">" + new Release(button));
add(new Release(button)); add(new Release(button));
System.out.println("erna");
} }
} }

View File

@@ -2,40 +2,49 @@ package pm.device.javainput.rumblepad;
import de.hardcode.jxinput.event.JXInputButtonEvent; import de.hardcode.jxinput.event.JXInputButtonEvent;
import pm.Button; import pm.Button;
import pm.device.javainput.JavaInputButton;
import pm.exception.event.UnknownButtonException; import pm.exception.event.UnknownButtonException;
public enum RumblepadButton implements Button { public enum RumblepadButton implements Button {
ONE ("Button 0"), ONE (0),
TWO ("Button 1"), TWO (1),
THREE ("Button 2"), THREE (2),
FOUR ("Button 3"), FOUR (3),
FIVE ("Button 4"), FIVE (4),
SIX ("Button 5"), SIX (5),
SEVEN ("Button 6"), SEVEN (6),
EIGHT ("Button 7"), EIGHT (7),
NINE ("Button 8"), NINE (8),
TEN ("Button 9"); TEN (9);
protected String code; protected int code;
private RumblepadButton(String code) { private RumblepadButton(int code) {
this.code = code; this.code = code;
} }
public String getCode() { public int getCode() {
return code; return code;
} }
public static RumblepadButton create(String code) throws UnknownButtonException { public static JavaInputButton create(int code) throws UnknownButtonException {
for (RumblepadButton button : RumblepadButton.values()) { for (RumblepadButton button : RumblepadButton.values()) {
if (button.getCode().equals(code)) { if (button.getCode() == code) {
return button; return new JavaInputButton(code + 1);
} }
} }
throw new UnknownButtonException(); throw new UnknownButtonException();
} }
public static RumblepadButton create(JXInputButtonEvent event) throws UnknownButtonException { public static JavaInputButton create(JXInputButtonEvent event) throws UnknownButtonException {
return create(event.getButton().getName()); 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.Macro;
import pm.Target; import pm.Target;
import pm.device.javainput.EightfoldDirection; import pm.device.javainput.EightfoldDirection;
import pm.device.javainput.JavaInputButton;
import pm.device.javainput.JavaInputDevice; import pm.device.javainput.JavaInputDevice;
import pm.exception.DeviceException; import pm.exception.DeviceException;
import pm.exception.MacroException; import pm.exception.MacroException;
@@ -35,9 +36,7 @@ public class RumblepadDevice extends JavaInputDevice {
new Press(RumblepadButton.THREE), new Press(RumblepadButton.THREE),
Action.RESUME.setTarget(Target.APPLICATION)); Action.RESUME.setTarget(Target.APPLICATION));
add( add(
new Macro( new Press(new JavaInputButton(9)),
new Press(RumblepadButton.NINE)
),
Action.EXIT.setTarget(Target.MAIN)); Action.EXIT.setTarget(Target.MAIN));
} catch (MacroException e) { } catch (MacroException e) {
e.printStackTrace(); e.printStackTrace();

View File

@@ -30,6 +30,7 @@ public class MacroListener extends ActionListener {
} }
public void add(Event event) { public void add(Event event) {
System.out.println("]] binnen " + event);
for (Macro macro : macroList) { for (Macro macro : macroList) {
activeList.add(new Active(macro)); activeList.add(new Active(macro));
} }

View File

@@ -14,6 +14,10 @@ public abstract class Event {
} }
public boolean equals(Event event) { public boolean equals(Event event) {
System.out.println(getClass() + " " + event.getClass());
System.out.println(getButton() + " " + event.getButton());
System.out.println(getButton().getClass() + " " + event.getButton().getClass());
System.out.println(event.getButton().equals(button));
return event.getClass().equals(getClass()) && event.getButton().equals(button); return event.getClass().equals(getClass()) && event.getButton().equals(button);
} }
} }