2016-03-30 17:59:50 +02:00
|
|
|
package org.manzerbredes.open_klm.args;
|
|
|
|
|
2016-03-30 21:05:37 +02:00
|
|
|
import java.util.HashMap;
|
2016-03-30 17:59:50 +02:00
|
|
|
|
2016-03-30 21:05:37 +02:00
|
|
|
import org.javatuples.Pair;
|
|
|
|
import org.manzerbredes.open_klm.drivers.Driver;
|
|
|
|
import org.manzerbredes.open_klm.drivers.DriverTypeA;
|
|
|
|
import org.manzerbredes.open_klm.drivers.DriverTypeA.*;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Parse args for DriverTypeA
|
|
|
|
*
|
|
|
|
* @author Manzerbredes
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class ArgsTypeA implements Args{
|
|
|
|
/**
|
|
|
|
* Define Keyboard primary color state
|
|
|
|
*/
|
|
|
|
private HashMap<Region, Pair<Color,Intensity>> primaryColorsState=new HashMap<>();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Define Keyboard secondary color state (for wave)
|
|
|
|
*/
|
|
|
|
private HashMap<Region, Pair<Color,Intensity>> secondaryColorsState=new HashMap<>();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Define Keyboard mode state
|
|
|
|
*/
|
|
|
|
private Mode mode=Mode.NORMAL;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Build a ArgsTypeA
|
|
|
|
*
|
|
|
|
* @param driver The driver to use
|
|
|
|
*/
|
|
|
|
public ArgsTypeA(){
|
|
|
|
// Init primary color state
|
|
|
|
this.primaryColorsState.put(Region.LEFT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
|
|
|
|
this.primaryColorsState.put(Region.MIDDLE, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
|
|
|
|
this.primaryColorsState.put(Region.RIGHT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.HIGH));
|
|
|
|
// Init secondary color state
|
|
|
|
this.secondaryColorsState.put(Region.LEFT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
|
|
|
|
this.secondaryColorsState.put(Region.MIDDLE, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
|
|
|
|
this.secondaryColorsState.put(Region.RIGHT, new Pair<DriverTypeA.Color, DriverTypeA.Intensity>(Color.OFF, Intensity.LOW));
|
|
|
|
// Init mode
|
|
|
|
this.mode=Mode.NORMAL;
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void applyAndExit(Driver aDriver, String[] args){
|
|
|
|
if(aDriver.getType().equals(DriverTypeA.class)){
|
|
|
|
|
|
|
|
//TODO Parse and apply args with args4j
|
|
|
|
|
|
|
|
System.exit(0);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Error invalid driver
|
|
|
|
System.exit(1);
|
|
|
|
}
|
2016-03-30 17:59:50 +02:00
|
|
|
|
|
|
|
}
|