diff --git a/html/poketube.ejs b/html/poketube.ejs
index 8af8d37b..84106f24 100644
--- a/html/poketube.ejs
+++ b/html/poketube.ejs
@@ -719,6 +719,52 @@ background-color: #0000;
}
});
+
+document.addEventListener('keydown', function(event) {
+ // Toggle play/pause with the Spacebar and prevent control activation
+ if (event.key === ' ' || event.key === 'Spacebar') {
+ event.preventDefault(); // Prevent default action, like activating buttons
+ if (player.paused()) {
+ player.play();
+ } else {
+ player.pause();
+ }
+ }
+
+ // Toggle fullscreen with the F key
+ if (event.key === 'f' || event.key === 'F') {
+ event.preventDefault();
+ if (player.isFullscreen()) {
+ player.exitFullscreen();
+ } else {
+ player.requestFullscreen();
+ }
+ }
+
+ // Toggle mute with the M key
+ if (event.key === 'm' || event.key === 'M') {
+ event.preventDefault();
+ player.muted(!player.muted());
+ }
+
+ if (event.ctrlKey || event.metaKey || event.altKey) {
+ return;
+ }
+
+ var ewhich = event.which || event.keyCode;
+
+ // Number keys from 0-9 skip to a percentage of the video. 0 is 0% and 9 is 90%
+ if ((ewhich >= 48 && ewhich <= 57) || (ewhich >= 96 && ewhich <= 105)) {
+ var sub = ewhich >= 96 ? 96 : 48;
+ var number = ewhich - sub;
+
+ event.preventDefault();
+ player.currentTime(player.duration() * number * 0.1);
+ }
+});
+
+});
+
<% if(dm) { %>