diff --git a/src/components/apphost.js b/src/components/apphost.js
index 75e8ba17f1..7b044d5d35 100644
--- a/src/components/apphost.js
+++ b/src/components/apphost.js
@@ -359,7 +359,6 @@ define(['appSettings', 'browser', 'events', 'htmlMediaHelper', 'webSettings', 'g
return -1 !== supportedFeatures.indexOf(command.toLowerCase());
},
preferVisualCards: browser.android || browser.chrome,
- moreIcon: browser.android ? 'more_vert' : 'more_horiz',
getSyncProfile: getSyncProfile,
getDefaultLayout: function () {
if (window.NativeShell) {
diff --git a/src/components/cardbuilder/cardBuilder.js b/src/components/cardbuilder/cardBuilder.js
index 43ca28f01d..d4d4d7f73b 100644
--- a/src/components/cardbuilder/cardBuilder.js
+++ b/src/components/cardbuilder/cardBuilder.js
@@ -869,7 +869,7 @@ import 'programStyles';
if (isOuterFooter && options.cardLayout && layoutManager.mobile) {
if (options.cardFooterAside !== 'none') {
- html += '';
+ html += '';
}
}
@@ -1426,7 +1426,7 @@ import 'programStyles';
}
if (options.overlayMoreButton) {
- overlayButtons += '';
+ overlayButtons += '';
}
}
@@ -1580,7 +1580,7 @@ import 'programStyles';
html += '';
}
- html += '';
+ html += '';
html += '';
html += '';
diff --git a/src/components/guide/tvguide.template.html b/src/components/guide/tvguide.template.html
index 367aac6c17..730de55909 100644
--- a/src/components/guide/tvguide.template.html
+++ b/src/components/guide/tvguide.template.html
@@ -10,7 +10,7 @@
diff --git a/src/components/multiSelect/multiSelect.js b/src/components/multiSelect/multiSelect.js
index cc0fc9ceef..83982413ae 100644
--- a/src/components/multiSelect/multiSelect.js
+++ b/src/components/multiSelect/multiSelect.js
@@ -129,7 +129,7 @@ define(['browser', 'appStorage', 'apphost', 'loading', 'connectionManager', 'glo
html += '';
html += '';
- const moreIcon = 'more_horiz';
+ const moreIcon = 'more_vert';
html += '';
selectionCommandsPanel.innerHTML = html;
diff --git a/src/controllers/dashboard/devices/devices.js b/src/controllers/dashboard/devices/devices.js
index da65ef6219..0dea81c756 100644
--- a/src/controllers/dashboard/devices/devices.js
+++ b/src/controllers/dashboard/devices/devices.js
@@ -89,7 +89,7 @@ define(['loading', 'dom', 'libraryMenu', 'globalize', 'scripts/imagehelper', 'da
if (canEdit || canDelete(device.Id)) {
deviceHtml += '';
- deviceHtml += '';
+ deviceHtml += '';
deviceHtml += '
';
}
diff --git a/src/controllers/dashboard/medialibrarypage.js b/src/controllers/dashboard/medialibrarypage.js
index 0788fa4cad..06eba37cbd 100644
--- a/src/controllers/dashboard/medialibrarypage.js
+++ b/src/controllers/dashboard/medialibrarypage.js
@@ -298,7 +298,7 @@ define(['jQuery', 'apphost', 'scripts/taskbutton', 'loading', 'libraryMenu', 'gl
if (virtualFolder.showMenu !== false) {
html += '';
- html += '';
+ html += '';
html += '
';
}
diff --git a/src/controllers/dashboard/plugins/installed.js b/src/controllers/dashboard/plugins/installed.js
index 427ce7d94b..5ca739f711 100644
--- a/src/controllers/dashboard/plugins/installed.js
+++ b/src/controllers/dashboard/plugins/installed.js
@@ -47,7 +47,7 @@ define(['loading', 'libraryMenu', 'dom', 'globalize', 'cardStyle', 'emby-button'
html += '';
html += '';
html += '';
- html += '';
+ html += '';
html += '';
}
diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js
index e9923d779c..831aea5571 100644
--- a/src/controllers/playback/videoosd.js
+++ b/src/controllers/playback/videoosd.js
@@ -1112,6 +1112,14 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
playbackManager.playPause(currentPlayer);
showOsd();
break;
+ case 'ArrowUp':
+ case 'Up':
+ playbackManager.volumeUp(currentPlayer);
+ break;
+ case 'ArrowDown':
+ case 'Down':
+ playbackManager.volumeDown(currentPlayer);
+ break;
case 'l':
case 'ArrowRight':
case 'Right':
@@ -1134,6 +1142,18 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
playbackManager.toggleMute(currentPlayer);
showOsd();
break;
+ case 'p':
+ case 'P':
+ if (e.shiftKey) {
+ playbackManager.previousTrack(currentPlayer);
+ }
+ break;
+ case 'n':
+ case 'N':
+ if (e.shiftKey) {
+ playbackManager.nextTrack(currentPlayer);
+ }
+ break;
case 'NavigationLeft':
case 'GamepadDPadLeft':
case 'GamepadLeftThumbstickLeft':
@@ -1151,6 +1171,26 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
playbackManager.fastForward(currentPlayer);
showOsd();
}
+ break;
+ case 'Home':
+ playbackManager.seekPercent(0, currentPlayer);
+ break;
+ case 'End':
+ playbackManager.seekPercent(100, currentPlayer);
+ break;
+ case '0':
+ case '1':
+ case '2':
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+ case '9':
+ var percent = parseInt(key, 10) * 10;
+ playbackManager.seekPercent(percent, currentPlayer);
+ break;
}
}
diff --git a/src/controllers/userprofilespage.js b/src/controllers/userprofilespage.js
index 528166e847..c691c665f6 100644
--- a/src/controllers/userprofilespage.js
+++ b/src/controllers/userprofilespage.js
@@ -115,7 +115,7 @@ define(['loading', 'dom', 'globalize', 'date-fns', 'dfnshelper', 'paper-icon-but
html += '';
html += user.Name;
html += '
';
- html += '';
+ html += '';
html += '';
html += '';
var lastSeen = getLastSeenText(user.LastActivityDate);
@@ -189,7 +189,7 @@ define(['loading', 'dom', 'globalize', 'date-fns', 'dfnshelper', 'paper-icon-but
html += '
';
html += '