package org.manzerbredes.open_klm.device; import java.util.HashMap; import org.manzerbredes.open_klm.device.Driver.*; public class Keyboard{ /** * Device driver */ private Driver device; /** * Keyboard State */ private KeyboardState state; /** * Build a keyboard access * * @throws InstantiationException Throw if failed to instanciate driver */ public Keyboard() throws InstantiationException{ this.device=new Driver(); this.state=new KeyboardState(); } /** * * Change global keyboard color * * @param color Color to apply * @param intensity Intensity wanted */ public void setColor(Color color, Intensity intensity){ //Save state this.state.setColor(color, intensity); // Set color this.device.setColor(Region.LEFT, color, intensity); this.device.setColor(Region.MIDDLE, color, intensity); this.device.setColor(Region.RIGHT, color, intensity); // Apply color this.device.commit(this.state.getMode()); } /** * * Change region keyboard color * * @param region Region to apply the color * @param color Color to apply * @param intensity Intensity wanted */ public void setRegionColor(Region region, Color color, Intensity intensity){ // Save state this.state.setRegionColor(region, color, intensity); // Set color this.device.setColor(region, color, intensity); // Apply color this.device.commit(this.state.getMode()); } }