Permalink
Browse files

More keyboard shortcuts

Also undid the padding change for sub-menus. Feel free to comment/argue
on it.
  • Loading branch information...
taisel committed Sep 22, 2016
1 parent 4dea90b commit de2e8bccc8525dc258705dc058bf719ab598587e
Showing with 63 additions and 7 deletions.
  1. +6 −0 index.html
  2. +9 −2 user_css/main.css
  3. +8 −3 user_scripts/CoreGlueCode.js
  4. +24 −0 user_scripts/GUIGlueCode.js
  5. +16 −2 user_scripts/JoyPadGlueCode.js
View
@@ -159,6 +159,12 @@
<li id="key_fullscreen">
<span>Fullscreen</span>
</li>
+ <li id="key_playpause">
+ <span>Play/Pause</span>
+ </li>
+ <li id="key_restart">
+ <span>Restart</span>
+ </li>
</ul>
</li>
</ul>
View
@@ -130,7 +130,7 @@ div#menu {
position: absolute;
top:100%;
left:0;
- background: whitesmoke;
+ background-color: rgb(245, 245, 245);
box-shadow: 0 5px 10px 0 rgba(0,0,0,.1);
transition: .3s ease;
z-index: 1;
@@ -146,10 +146,17 @@ li.hide {
left: 100%;
}
+#menu_top li {
+ padding: .7em 1em;
+}
+
+.menu ul li {
+ padding: .3em 1em !important;
+}
+
.menu li{
white-space: nowrap;
position: relative;
- padding: .7em 1em;
cursor:pointer;
}
@@ -16,6 +16,7 @@ var IodineGUI = {
toMap:null,
toMapIndice:0,
suspended:false,
+ isPlaying:false,
startTime:(+(new Date()).getTime()),
mixerInput:null,
defaults:{
@@ -38,9 +39,9 @@ var IodineGUI = {
//Start:
13,
//Right:
- 39,
+ 83,
//Left:
- 37,
+ 65,
//Up:
38,
//Down:
@@ -63,7 +64,11 @@ var IodineGUI = {
//Reset Speed:
53,
//Toggle Fullscreen:
- 54
+ 54,
+ //Play/Pause:
+ 80,
+ //Restart:
+ 82
]
}
};
@@ -190,6 +190,14 @@ function registerGUIEvents() {
IodineGUI.toMap = IodineGUI.defaults.keyZonesControl;
IodineGUI.toMapIndice = 5;
});
+ addEvent("click", document.getElementById("key_playpause"), function () {
+ IodineGUI.toMap = IodineGUI.defaults.keyZonesControl;
+ IodineGUI.toMapIndice = 6;
+ });
+ addEvent("click", document.getElementById("key_restart"), function () {
+ IodineGUI.toMap = IodineGUI.defaults.keyZonesControl;
+ IodineGUI.toMapIndice = 7;
+ });
addEvent("change", document.getElementById("import"), function (e) {
if (typeof this.files != "undefined") {
try {
@@ -404,6 +412,18 @@ function registerDefaultSettings() {
else {
IodineGUI.defaults.keyZonesControl[5] = findValue("key_fullscreen");
}
+ if (findValue("key_playpause") === null) {
+ setValue("key_playpause", IodineGUI.defaults.keyZonesControl[6] | 0);
+ }
+ else {
+ IodineGUI.defaults.keyZonesControl[6] = findValue("key_playpause");
+ }
+ if (findValue("key_restart") === null) {
+ setValue("key_restart", IodineGUI.defaults.keyZonesControl[7] | 0);
+ }
+ else {
+ IodineGUI.defaults.keyZonesControl[7] = findValue("key_restart");
+ }
}
function saveKeyBindings() {
setValue("key_a", IodineGUI.defaults.keyZonesGBA[0] | 0);
@@ -422,6 +442,8 @@ function saveKeyBindings() {
setValue("key_slowdown", IodineGUI.defaults.keyZonesControl[3] | 0);
setValue("key_speedreset", IodineGUI.defaults.keyZonesControl[4] | 0);
setValue("key_fullscreen", IodineGUI.defaults.keyZonesControl[5] | 0);
+ setValue("key_playpause", IodineGUI.defaults.keyZonesControl[6] | 0);
+ setValue("key_restart", IodineGUI.defaults.keyZonesControl[7] | 0);
}
function registerGUISettings() {
document.getElementById("sound").checked = IodineGUI.defaults.sound;
@@ -460,6 +482,7 @@ function updatePlayButton(isPlaying) {
if (!IodineGUI.coreTimerID) {
initTimer();
}
+ IodineGUI.isPlaying = true;
}
else {
document.getElementById("pause").className = "hide";
@@ -469,6 +492,7 @@ function updatePlayButton(isPlaying) {
clearInterval(IodineGUI.coreTimerID);
IodineGUI.coreTimerID = null;
}
+ IodineGUI.isPlaying = false;
}
}
function visibilityChangeHandle() {
@@ -31,7 +31,7 @@ function keyUpGBA(keyCode) {
}
function keyUp(keyCode) {
keyCode = keyCode | 0;
- for (var keyMapIndex = 0; (keyMapIndex | 0) < 6; keyMapIndex = ((keyMapIndex | 0) + 1) | 0) {
+ for (var keyMapIndex = 0; (keyMapIndex | 0) < 8; keyMapIndex = ((keyMapIndex | 0) + 1) | 0) {
if ((IodineGUI.defaults.keyZonesControl[keyMapIndex | 0] | 0) == (keyCode | 0)) {
keyboardEmulatorControl(keyMapIndex | 0);
return true;
@@ -76,6 +76,12 @@ function keyboardEmulatorControl(keyCode) {
break;
case 5:
toggleFullScreen();
+ break;
+ case 6:
+ togglePlayState();
+ break;
+ case 7:
+ IodineGUI.Iodine.restart();
}
}
function toggleFullScreen() {
@@ -106,5 +112,13 @@ function toggleFullScreen() {
else if (document.webkitExitFullscreen) {
document.webkitExitFullscreen();
}
+ }
}
-}
+function togglePlayState() {
+ if (IodineGUI.isPlaying) {
+ IodineGUI.Iodine.pause();
+ }
+ else {
+ IodineGUI.Iodine.play();
+ }
+}

0 comments on commit de2e8bc

Please sign in to comment.