diff --git a/java/resource/icons/down.png b/java/resource/icons/down.png new file mode 100644 index 0000000..9859d33 Binary files /dev/null and b/java/resource/icons/down.png differ diff --git a/java/resource/icons/up.png b/java/resource/icons/up.png new file mode 100644 index 0000000..a41932a Binary files /dev/null and b/java/resource/icons/up.png differ diff --git a/java/src/mimis/device/jintellitype/JIntellitypeEventMapCycle.java b/java/src/mimis/device/jintellitype/JIntellitypeEventMapCycle.java index d0bc0e6..2627025 100644 --- a/java/src/mimis/device/jintellitype/JIntellitypeEventMapCycle.java +++ b/java/src/mimis/device/jintellitype/JIntellitypeEventMapCycle.java @@ -21,7 +21,8 @@ public class JIntellitypeEventMapCycle extends EventMapCycle { mimis.add( new Hotkey(Key.NEXT), new Task(Target.MIMIS, Action.NEXT)); - + add(mimis); + /* Player */ player = new EventMap(); player.add( @@ -39,5 +40,6 @@ public class JIntellitypeEventMapCycle extends EventMapCycle { player.add( new Hotkey(Modifier.CTRL | Modifier.SHIFT | Modifier.WIN, 'p'), new Task(Target.APPLICATION, Action.PREVIOUS)); + add(player); } } diff --git a/java/src/mimis/device/panel/Panel.java b/java/src/mimis/device/panel/Panel.java index 2040a79..d5b7675 100644 --- a/java/src/mimis/device/panel/Panel.java +++ b/java/src/mimis/device/panel/Panel.java @@ -25,11 +25,13 @@ public class Panel extends JFrame implements HoldButtonListener { protected PanelDevice panelDevice; protected ClassLoader classLoader; + protected HoldButton upButton; protected HoldButton previousButton; protected HoldButton rewindButton; protected HoldButton stopButton; protected ToggleButton playPauseToggleButton; protected HoldButton forwardButton; + protected HoldButton downButton; protected HoldButton nextButton; protected HoldButton volumeDownButton; protected ToggleButton muteToggleButton; @@ -75,11 +77,13 @@ public class Panel extends JFrame implements HoldButtonListener { } protected void createControls() { + upButton = getButton("icons/up.png", "Go to previous application"); + nextButton = getButton("icons/next.png", "Go to next track"); previousButton = getButton("icons/previous.png", "Go to previous track"); rewindButton = getButton("icons/rewind.png", "Skip backward"); playPauseToggleButton = getToggleButton("icons/play.png", "icons/pause.png", "Play/pause"); forwardButton = getButton("icons/forward.png", "Skip forward"); - nextButton = getButton("icons/next.png", "Go to next track"); + downButton = getButton("icons/down.png", "Go to next application"); volumeDownButton = getButton("icons/volumeDown.png", "Decrease volume"); muteToggleButton = getToggleButton("icons/mute.png", "icons/unmute.png", "Toggle Mute"); volumeUpButton = getButton("icons/volumeUp.png", "Increase volume"); @@ -97,7 +101,8 @@ public class Panel extends JFrame implements HoldButtonListener { controlPanel.setLayout(new BorderLayout()); JPanel upperControlPanel = new JPanel(); - controlPanel.add(upperControlPanel, BorderLayout.NORTH); + controlPanel.add(upperControlPanel, BorderLayout.NORTH); + upperControlPanel.add(upButton); upperControlPanel.add(previousButton); upperControlPanel.add(rewindButton); upperControlPanel.add(playPauseToggleButton); @@ -106,6 +111,7 @@ public class Panel extends JFrame implements HoldButtonListener { JPanel lowerControlPanel = new JPanel(); controlPanel.add(lowerControlPanel, BorderLayout.SOUTH); + lowerControlPanel.add(downButton); lowerControlPanel.add(repeatButton); lowerControlPanel.add(volumeDownButton); lowerControlPanel.add(muteToggleButton); @@ -137,6 +143,10 @@ public class Panel extends JFrame implements HoldButtonListener { panelDevice.buttonPressed(PanelButton.REPEAT); } else if (button.equals(shuffleButton)) { panelDevice.buttonPressed(PanelButton.SHUFFLE); + } else if (button.equals(upButton)) { + panelDevice.buttonPressed(PanelButton.UP); + } else if (button.equals(downButton)) { + panelDevice.buttonPressed(PanelButton.DOWN); } } @@ -163,6 +173,10 @@ public class Panel extends JFrame implements HoldButtonListener { panelDevice.buttonReleased(PanelButton.REPEAT); } else if (button.equals(shuffleButton)) { panelDevice.buttonReleased(PanelButton.SHUFFLE); + } else if (button.equals(upButton)) { + panelDevice.buttonReleased(PanelButton.UP); + } else if (button.equals(downButton)) { + panelDevice.buttonReleased(PanelButton.DOWN); } } diff --git a/java/src/mimis/device/panel/PanelButton.java b/java/src/mimis/device/panel/PanelButton.java index 16dcd8f..f0d2a04 100644 --- a/java/src/mimis/device/panel/PanelButton.java +++ b/java/src/mimis/device/panel/PanelButton.java @@ -14,5 +14,7 @@ public enum PanelButton implements Button { MUTE, VOLUME_UP, REPEAT, - SHUFFLE; + SHUFFLE, + UP, + DOWN; } diff --git a/java/src/mimis/device/panel/PanelEventMapCycle.java b/java/src/mimis/device/panel/PanelEventMapCycle.java index 51f8467..dad462c 100644 --- a/java/src/mimis/device/panel/PanelEventMapCycle.java +++ b/java/src/mimis/device/panel/PanelEventMapCycle.java @@ -14,12 +14,14 @@ public class PanelEventMapCycle extends EventMapCycle { public PanelEventMapCycle() { /* Player */ player = new EventMap(); + player.add(new Press(PanelButton.UP), new Task(Target.MIMIS, Action.PREVIOUS)); player.add(new Press(PanelButton.PREVIOUS), new Task(Target.APPLICATION, Action.PREVIOUS)); player.add(new Press(PanelButton.REWIND), new Task(Target.APPLICATION, Action.REWIND)); player.add(new Press(PanelButton.STOP), new Task(Target.APPLICATION, Action.STOP)); player.add(new Press(PanelButton.PAUSE), new Task(Target.APPLICATION, Action.PAUSE)); player.add(new Press(PanelButton.PLAY), new Task(Target.APPLICATION, Action.PLAY)); player.add(new Press(PanelButton.FORWARD), new Task(Target.APPLICATION, Action.FORWARD)); + player.add(new Press(PanelButton.DOWN), new Task(Target.MIMIS, Action.NEXT)); player.add(new Press(PanelButton.NEXT), new Task(Target.APPLICATION, Action.NEXT)); player.add(new Press(PanelButton.VOLUME_DOWN), new Task(Target.APPLICATION, Action.VOLUME_DOWN)); player.add(new Press(PanelButton.MUTE), new Task(Target.APPLICATION, Action.MUTE));