Move source files for device.lirc
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
dependencies {
|
||||
compile project(':core.legacy')
|
||||
compile project(':exec.mimis')
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc;
|
||||
|
||||
import mimis.input.Button;
|
||||
|
||||
public interface LircButton extends Button {
|
||||
public static final String NAME = null;
|
||||
|
||||
public String getCode();
|
||||
public String getName();
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc;
|
||||
|
||||
public interface LircButtonListener {
|
||||
public void add(LircButton lircButton);
|
||||
}
|
||||
126
java/device.lirc/src/main/java/mimis/device/lirc/LircDevice.java
Normal file
126
java/device.lirc/src/main/java/mimis/device/lirc/LircDevice.java
Normal file
@@ -0,0 +1,126 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc;
|
||||
|
||||
import mimis.application.cmd.CMDApplication;
|
||||
import mimis.device.Device;
|
||||
import mimis.device.lirc.remote.DenonRC176Button;
|
||||
import mimis.device.lirc.remote.PhiliphsRCLE011Button;
|
||||
import mimis.device.lirc.remote.SamsungBN5901015AButton;
|
||||
import mimis.input.Button;
|
||||
import mimis.input.button.ColorButton;
|
||||
import mimis.input.button.NumberButton;
|
||||
import mimis.input.state.Press;
|
||||
import mimis.input.state.Release;
|
||||
import mimis.util.Multiplexer;
|
||||
import mimis.util.Native;
|
||||
import mimis.util.multiplexer.SignalListener;
|
||||
import mimis.value.Action;
|
||||
import mimis.value.Signal;
|
||||
import base.exception.worker.ActivateException;
|
||||
import base.exception.worker.DeactivateException;
|
||||
|
||||
public class LircDevice extends CMDApplication implements Device, LircButtonListener, SignalListener<Button> {
|
||||
protected final static String PROGRAM = "winlirc.exe";
|
||||
protected static final String TITLE = "Lirc";
|
||||
|
||||
protected Multiplexer<Button> multiplexer;
|
||||
protected LircService lircService;
|
||||
protected LircTaskMapCycle taskMapCycle;
|
||||
|
||||
public LircDevice() {
|
||||
super(PROGRAM, TITLE);
|
||||
multiplexer = new Multiplexer<Button>(this);
|
||||
lircService = new LircService();
|
||||
lircService.put(PhiliphsRCLE011Button.NAME, PhiliphsRCLE011Button.values());
|
||||
lircService.put(DenonRC176Button.NAME, DenonRC176Button.values());
|
||||
lircService.put(SamsungBN5901015AButton.NAME, SamsungBN5901015AButton.values());
|
||||
lircService.add(this);
|
||||
taskMapCycle = new LircTaskMapCycle();
|
||||
}
|
||||
|
||||
public void activate() throws ActivateException {
|
||||
super.activate();
|
||||
lircService.start();
|
||||
parser(Action.ADD, taskMapCycle.denonRC176);
|
||||
parser(Action.ADD, taskMapCycle.philiphsRCLE011);
|
||||
parser(Action.ADD, taskMapCycle.samsungBN5901015A);
|
||||
}
|
||||
|
||||
public boolean active() {
|
||||
if (detect) {
|
||||
if (active() && !lircService.active()) {
|
||||
stop();
|
||||
} else if (!active()) {
|
||||
running = Native.isRunning(PROGRAM);
|
||||
if (running) {
|
||||
start();
|
||||
}
|
||||
}
|
||||
}
|
||||
return super.active();
|
||||
}
|
||||
|
||||
public void deactivate() throws DeactivateException {
|
||||
logger.debug("Deactivate LircDevice");
|
||||
super.deactivate();
|
||||
lircService.stop();
|
||||
multiplexer.stop();
|
||||
}
|
||||
|
||||
public void exit() {
|
||||
logger.debug("Exit LircDevice");
|
||||
super.exit();
|
||||
lircService.exit();
|
||||
multiplexer.exit();
|
||||
}
|
||||
|
||||
public void add(LircButton lircButton) {
|
||||
multiplexer.add(lircButton);
|
||||
}
|
||||
|
||||
public void add(Signal signal, Button button) {
|
||||
add(signal, button, true);
|
||||
}
|
||||
|
||||
public void add(Signal signal, Button button, boolean general) {
|
||||
switch (signal) {
|
||||
case BEGIN:
|
||||
route(new Press(button));
|
||||
break;
|
||||
case END:
|
||||
route(new Release(button));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (general) {
|
||||
String string = button.toString();
|
||||
for (Button colorButton : ColorButton.values()) {
|
||||
if (colorButton.toString().equals(string)) {
|
||||
add(signal, ColorButton.valueOf(string), false);
|
||||
}
|
||||
}
|
||||
for (Button numberButton : NumberButton.values()) {
|
||||
if (numberButton.toString().equals(string)) {
|
||||
add(signal, NumberButton.valueOf(string), false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.SocketTimeoutException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.InputMismatchException;
|
||||
import java.util.NoSuchElementException;
|
||||
import java.util.Scanner;
|
||||
|
||||
import mimis.exception.button.UnknownButtonException;
|
||||
import mimis.util.Native;
|
||||
import mimis.value.Registry;
|
||||
import base.exception.worker.ActivateException;
|
||||
import base.server.socket.TcpClient;
|
||||
|
||||
public class LircService extends TcpClient {
|
||||
public static final String IP = "atom";
|
||||
public static final int PORT = 8765;
|
||||
|
||||
protected ArrayList<LircButtonListener> lircButtonListenerList;
|
||||
|
||||
// Pluggable reader and writer?
|
||||
// Receive strings via callback?
|
||||
protected BufferedReader bufferedReader;
|
||||
protected PrintWriter printWriter;
|
||||
protected HashMap<String, LircButton[]> buttonMap;
|
||||
protected String send;
|
||||
|
||||
public static void main(String[] args) {
|
||||
LircService lircService = new LircService();
|
||||
lircService.start();
|
||||
}
|
||||
|
||||
public LircService() {
|
||||
super(IP, PORT);
|
||||
buttonMap = new HashMap<String, LircButton[]>();
|
||||
send = Native.getValue(Registry.CURRENT_USER, "Software\\LIRC", "password");
|
||||
lircButtonListenerList = new ArrayList<LircButtonListener>();
|
||||
}
|
||||
|
||||
public void put(String name, LircButton[] LircButtonArray) {
|
||||
buttonMap.put(name, LircButtonArray);
|
||||
}
|
||||
|
||||
public void add(LircButtonListener lircButtonListener) {
|
||||
lircButtonListenerList.add(lircButtonListener);
|
||||
}
|
||||
|
||||
public void remove(LircButtonListener lircButtonListener) {
|
||||
lircButtonListenerList.remove(lircButtonListener);
|
||||
}
|
||||
|
||||
|
||||
public void activate() throws ActivateException {
|
||||
super.activate();
|
||||
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
|
||||
printWriter = new PrintWriter(outputStream);
|
||||
}
|
||||
|
||||
public void work() {
|
||||
try {
|
||||
String line = bufferedReader.readLine();
|
||||
while (line.equals("BEGIN")) {
|
||||
while (!bufferedReader.readLine().equals("END"));
|
||||
line = bufferedReader.readLine();
|
||||
}
|
||||
try {
|
||||
LircButton lircButton = parseButton(new Scanner(line));
|
||||
for (LircButtonListener lircbuttonListener : lircButtonListenerList) {
|
||||
lircbuttonListener.add(lircButton);
|
||||
}
|
||||
} catch (UnknownButtonException e) {
|
||||
logger.error("", e);
|
||||
}
|
||||
} catch (SocketTimeoutException e) {
|
||||
} catch (IOException e) {
|
||||
logger.error("", e);
|
||||
}
|
||||
}
|
||||
|
||||
public LircButton parseButton(Scanner scanner) throws UnknownButtonException {
|
||||
try {
|
||||
scanner.next();
|
||||
scanner.next();
|
||||
String code = scanner.next();
|
||||
String remote = scanner.next();
|
||||
logger.trace(String.format("%s: %s", remote, code));
|
||||
LircButton[] buttonArray = buttonMap.get(remote);
|
||||
if (buttonArray != null) {
|
||||
for (LircButton button : buttonArray) {
|
||||
if (button.getCode().equals(code)) {
|
||||
return button;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (InputMismatchException e) {
|
||||
logger.error("", e);
|
||||
} catch (NoSuchElementException e) {
|
||||
logger.error("", e);
|
||||
}
|
||||
throw new UnknownButtonException();
|
||||
}
|
||||
|
||||
public void send(LircButton button) {
|
||||
send(button, 0);
|
||||
}
|
||||
|
||||
public void send(LircButton button, int repeat) {
|
||||
if (send == null) {
|
||||
return;
|
||||
}
|
||||
String command = String.format("%s %s %s \n", send, button.getName(), button.getCode());
|
||||
printWriter.append(command);
|
||||
printWriter.flush();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc;
|
||||
|
||||
import mimis.device.lirc.remote.DenonRC176EventMap;
|
||||
import mimis.device.lirc.remote.PhiliphsRCLE011EventMap;
|
||||
import mimis.device.lirc.remote.SamsungBN5901015AEventMap;
|
||||
import mimis.state.TaskMap;
|
||||
import mimis.state.TaskMapCycle;
|
||||
|
||||
public class LircTaskMapCycle extends TaskMapCycle {
|
||||
protected static final long serialVersionUID = 1L;
|
||||
|
||||
public TaskMap denonRC176, philiphsRCLE011, samsungBN5901015A;
|
||||
|
||||
public LircTaskMapCycle() {
|
||||
add(denonRC176 = new DenonRC176EventMap());
|
||||
add(philiphsRCLE011 = new PhiliphsRCLE011EventMap());
|
||||
add(samsungBN5901015A = new SamsungBN5901015AEventMap());
|
||||
}
|
||||
}
|
||||
66
java/device.lirc/src/remote/DenonRC176Button.java
Normal file
66
java/device.lirc/src/remote/DenonRC176Button.java
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.device.lirc.LircButton;
|
||||
|
||||
public enum DenonRC176Button implements LircButton {
|
||||
TAPE_AB ("TAPE_AB"),
|
||||
TAPE_REC ("TAPE_REC"),
|
||||
TAPE_PAUSE ("TAPE_PAUSE"),
|
||||
TAPE_STOP ("TAPE_STOP"),
|
||||
TAPE_REWIND ("TAPE_REW"),
|
||||
TAPE_FORWARD ("TAPE_FF"),
|
||||
TAPE_PREIVOUS ("TAPE_PLAYREV"),
|
||||
TAPE_NEXT ("TAPE_PLAY"),
|
||||
CD_PREVIOUS ("CD_TRACK_-"),
|
||||
CD_NEXT ("CD_TRACK_+"),
|
||||
CD_SHUFFLE ("CD_RANDOM"),
|
||||
CD_REPEAT ("CD_REPEAT"),
|
||||
CD_SKIP ("CD_SKIP"),
|
||||
CD_PAUSE ("CD_PAUSE"),
|
||||
CD_STOP ("CD_STOP"),
|
||||
CD_PLAY ("CD_PLAY"),
|
||||
AMP_TAPE2 ("AMP_TAPE2"),
|
||||
AMP_TAPE1 ("AMP_TAPE1"),
|
||||
AMP_AUX ("AMP_AUX"),
|
||||
AMP_TUNER ("AMP_TUNER"),
|
||||
AMP_CD ("AMP_CD"),
|
||||
AMP_PHONO ("AMP_PHONO"),
|
||||
AMP_VOLUME_UP ("AMP_VOL_UP"),
|
||||
AMP_VOLUME_DOWN ("AMP_VOL_DOWN"),
|
||||
AMP_POWER ("AMP_POWER"),
|
||||
AMP_MUTE ("AMP_MUTE"),
|
||||
TUNER_UP ("TUN_CH_UP"),
|
||||
TUNER_DOWN ("TUN_CH_DOWN");
|
||||
|
||||
public static final String NAME = "DENON_RC-176";
|
||||
|
||||
protected String code;
|
||||
|
||||
private DenonRC176Button(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
48
java/device.lirc/src/remote/DenonRC176EventMap.java
Normal file
48
java/device.lirc/src/remote/DenonRC176EventMap.java
Normal file
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.input.Task;
|
||||
import mimis.state.TaskMap;
|
||||
import mimis.value.Action;
|
||||
import mimis.value.Target;
|
||||
|
||||
public class DenonRC176EventMap extends TaskMap {
|
||||
protected static final long serialVersionUID = 1L;
|
||||
|
||||
public DenonRC176EventMap() {
|
||||
/* Mimis */
|
||||
add(DenonRC176Button.TUNER_UP, new Task(Action.NEXT, Target.MAIN));
|
||||
add(DenonRC176Button.TUNER_DOWN, new Task(Action.PREVIOUS, Target.MAIN));
|
||||
|
||||
/* Application */
|
||||
add(DenonRC176Button.AMP_POWER, new Task(Action.START, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_NEXT, new Task(Action.NEXT, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_PREVIOUS, new Task(Action.PREVIOUS, Target.CURRENT));
|
||||
add(DenonRC176Button.TAPE_REWIND, new Task(Action.REWIND, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_PLAY, new Task(Action.PLAY, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_PAUSE, new Task(Action.PLAY, Target.CURRENT));
|
||||
add(DenonRC176Button.TAPE_FORWARD, new Task(Action.FORWARD, Target.CURRENT));
|
||||
add(DenonRC176Button.AMP_MUTE, new Task(Action.MUTE, Target.CURRENT));
|
||||
add(DenonRC176Button.AMP_VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
|
||||
add(DenonRC176Button.AMP_VOLUME_DOWN, new Task(Action.VOLUME_DOWN, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_REPEAT, new Task(Action.REPEAT, Target.CURRENT));
|
||||
add(DenonRC176Button.CD_SHUFFLE, new Task(Action.SHUFFLE, Target.CURRENT));
|
||||
add(DenonRC176Button.TAPE_AB, new Task(Action.LIKE, Target.CURRENT));
|
||||
add(DenonRC176Button.TAPE_REC, new Task(Action.DISLIKE, Target.CURRENT));
|
||||
}
|
||||
}
|
||||
73
java/device.lirc/src/remote/PhiliphsRCLE011Button.java
Normal file
73
java/device.lirc/src/remote/PhiliphsRCLE011Button.java
Normal file
@@ -0,0 +1,73 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.device.lirc.LircButton;
|
||||
|
||||
public enum PhiliphsRCLE011Button implements LircButton {
|
||||
POWER ("Standby"),
|
||||
RED ("Red"),
|
||||
GREEN ("Green"),
|
||||
YELLOW ("Yellow"),
|
||||
BLUE ("Blue"),
|
||||
TUNE ("Tune"),
|
||||
RADIO ("Radio"),
|
||||
SQUARE ("Square"),
|
||||
MENU ("Menu"),
|
||||
TEXT ("Text"),
|
||||
UP ("Up"),
|
||||
DOWN ("Down"),
|
||||
LEFT ("Left"),
|
||||
RIGHT ("Right"),
|
||||
VOLUME_UP ("Volume+"),
|
||||
VOLUME_DOWN ("Volume-"),
|
||||
MUTE ("Mute"),
|
||||
PROGRAM_UP ("Program+"),
|
||||
PROGRAM_DOWN ("Program-"),
|
||||
ONE ("1"),
|
||||
TWO ("2"),
|
||||
THREE ("3"),
|
||||
FOUR ("4"),
|
||||
FIVE ("5"),
|
||||
SIX ("6"),
|
||||
SEVEN ("7"),
|
||||
EIGHT ("8"),
|
||||
NINE ("9"),
|
||||
ZERO ("0"),
|
||||
CLOCK ("Clock"),
|
||||
OUT ("Out"),
|
||||
INFO ("i+"),
|
||||
SCREEN_UP ("screenup"),
|
||||
SCREEN_DOWN ("screendown"),
|
||||
QUESTION ("question");
|
||||
|
||||
public static final String NAME = "Philips_RCLE011";
|
||||
|
||||
protected String code;
|
||||
|
||||
private PhiliphsRCLE011Button(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
48
java/device.lirc/src/remote/PhiliphsRCLE011EventMap.java
Normal file
48
java/device.lirc/src/remote/PhiliphsRCLE011EventMap.java
Normal file
@@ -0,0 +1,48 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.input.Task;
|
||||
import mimis.state.TaskMap;
|
||||
import mimis.value.Action;
|
||||
import mimis.value.Target;
|
||||
|
||||
public class PhiliphsRCLE011EventMap extends TaskMap {
|
||||
protected static final long serialVersionUID = 1L;
|
||||
|
||||
public PhiliphsRCLE011EventMap() {
|
||||
/* Mimis */
|
||||
add(PhiliphsRCLE011Button.UP, new Task(Action.NEXT, Target.MAIN));
|
||||
add(PhiliphsRCLE011Button.DOWN, new Task(Action.PREVIOUS, Target.MAIN));
|
||||
|
||||
/* Application */
|
||||
add(PhiliphsRCLE011Button.POWER, new Task(Action.START, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.PROGRAM_UP, new Task(Action.NEXT, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.PROGRAM_DOWN, new Task(Action.PREVIOUS, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.LEFT, new Task(Action.REWIND, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.TUNE, new Task(Action.PLAY, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.RIGHT, new Task(Action.FORWARD, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.VOLUME_DOWN, new Task(Action.VOLUME_DOWN, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.MUTE, new Task(Action.MUTE, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.CLOCK, new Task(Action.REPEAT, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.OUT, new Task(Action.SHUFFLE, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.SQUARE, new Task(Action.FULLSCREEN, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.RED, new Task(Action.DISLIKE, Target.CURRENT));
|
||||
add(PhiliphsRCLE011Button.GREEN, new Task(Action.LIKE, Target.CURRENT));
|
||||
}
|
||||
}
|
||||
86
java/device.lirc/src/remote/SamsungBN5901015AButton.java
Normal file
86
java/device.lirc/src/remote/SamsungBN5901015AButton.java
Normal file
@@ -0,0 +1,86 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.device.lirc.LircButton;
|
||||
|
||||
public enum SamsungBN5901015AButton implements LircButton {
|
||||
POWER ("Power"),
|
||||
SOURCE ("Source"),
|
||||
ONE ("1"),
|
||||
TWO ("2"),
|
||||
THREE ("3"),
|
||||
FOUR ("4"),
|
||||
FIVE ("5"),
|
||||
SIX ("6"),
|
||||
SEVEN ("7"),
|
||||
EIGHT ("8"),
|
||||
NINE ("9"),
|
||||
ZERO ("0"),
|
||||
TEXT ("TTX/Mix"),
|
||||
CHANNEL_TOGGLE ("Pre-Ch"),
|
||||
VOLUME_DOWN ("Vol+"),
|
||||
VOLUME_UP ("Vol-"),
|
||||
MUTE ("Mute"),
|
||||
CHANNEL_LIST ("Ch.List"),
|
||||
CHANNEL_NEXT ("Ch+"),
|
||||
CHANNEL_PREVIOUS ("Ch-"),
|
||||
MEDIA ("Media.P"),
|
||||
MENU ("Menu"),
|
||||
GUIDE ("Guide"),
|
||||
TOOLS ("Tools"),
|
||||
UP ("Up"),
|
||||
INFO ("Info"),
|
||||
RETURN ("Return"),
|
||||
EXIT ("Exit"),
|
||||
LEFT ("Left"),
|
||||
ENTER ("Enter"),
|
||||
RIGHT ("Right"),
|
||||
DOWN ("Down"),
|
||||
RED ("Red"),
|
||||
GREEN ("Green"),
|
||||
YELLOW ("Yellow"),
|
||||
BLUE ("Blue"),
|
||||
MODE_P ("P.Mode"),
|
||||
MODE_S ("S.Mode"),
|
||||
SIZE_P ("P.Size"),
|
||||
Dual ("Dual"),
|
||||
AUDIO ("AD"),
|
||||
SUBTITLE ("Subt."),
|
||||
REWIND ("Rewind"),
|
||||
PAUSE ("Pause"),
|
||||
FORWARD ("Forward"),
|
||||
RECORD ("Record"),
|
||||
PLAY ("Play"),
|
||||
STOP ("Stop");
|
||||
|
||||
public static final String NAME = "Samsung_BN59-01015A";
|
||||
|
||||
protected String code;
|
||||
|
||||
private SamsungBN5901015AButton(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
30
java/device.lirc/src/remote/SamsungBN5901015AEventMap.java
Normal file
30
java/device.lirc/src/remote/SamsungBN5901015AEventMap.java
Normal file
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.input.Task;
|
||||
import mimis.state.TaskMap;
|
||||
import mimis.value.Action;
|
||||
import mimis.value.Target;
|
||||
|
||||
public class SamsungBN5901015AEventMap extends TaskMap {
|
||||
protected static final long serialVersionUID = 1L;
|
||||
|
||||
public SamsungBN5901015AEventMap() {
|
||||
add(SamsungBN5901015AButton.VOLUME_UP, new Task(Action.VOLUME_UP, Target.CURRENT));
|
||||
}
|
||||
}
|
||||
44
java/device.lirc/src/remote/WC02IPOButton.java
Normal file
44
java/device.lirc/src/remote/WC02IPOButton.java
Normal file
@@ -0,0 +1,44 @@
|
||||
/**
|
||||
* Copyright (C) 2015 Rik Veenboer <rik.veenboer@gmail.com>
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
package mimis.device.lirc.remote;
|
||||
|
||||
import mimis.device.lirc.LircButton;
|
||||
|
||||
public enum WC02IPOButton implements LircButton {
|
||||
MINUS ("MINUS"),
|
||||
PLUS ("PLUS"),
|
||||
NEXT ("NEXT"),
|
||||
PREVIOUS ("PREVIOUS"),
|
||||
PLAY ("PLAY"),
|
||||
HOLD ("HOLD");
|
||||
|
||||
public static final String NAME = "WC02-IPO";
|
||||
|
||||
protected String code;
|
||||
|
||||
private WC02IPOButton(String code) {
|
||||
this.code = code;
|
||||
}
|
||||
|
||||
public String getCode() {
|
||||
return code;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return NAME;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user