Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Makes the YouTube shortcuts work even if the player is not focused. Install Greasemonkey/Tampermonkey first, then click [Raw] to install.
// ==UserScript==
// @name YouTube global shortcuts
// @namespace
// @homepage
// @downloadURL
// @version 1.1
// @author Stefan Sundin
// @description Makes the YouTube shortcuts work even if the player is not focused.
// @icon
// @match*
// ==/UserScript==
// Space = Pause/play
// F = Toggle fullscreen
// M = Toggle mute
// P = Previous video (if in playlist)
// N = Next video (if in playlist)
// left and right keys focuses the button, but the first keydown won't trigger seeking unfortunately
// P and N already works without this userscript, but you must hold shift.
// Use Ctrl+Space to scroll down, Shift+Space to scroll up
window.addEventListener('keydown', function (e) {
var button = document.getElementsByClassName('ytp-play-button')[0] || document.getElementById('movie_player');
if (!button) {
if (['TEXTAREA','INPUT'].indexOf(e.srcElement.tagName) !== -1 ||
['yt-commentbox-text', 'yt-simplebox-text', 'ytp-progress-bar', 'ytp-volume-panel'].indexOf(e.srcElement.className) !== -1) {
if (e.srcElement.classList.contains('html5-video-player')) {
var c = String.fromCharCode(e.keyCode).toLowerCase();
if (c === ' ' || e.keyCode === 37 || e.keyCode === 39) { // 37 = left key, 39 = right key
if (c === ' ' && (e.shiftKey || e.ctrlKey)) {
if (c === ' ') {
} else if (c === 'n') {
} else if (c === 'p') {
Copy link

I'm having trouble getting this to work. Can you please help me figure this out?

I downloaded Tampermonkey and installed it with the Raw button and tampermonkey says that the script is on when i visit a youtube page. But i dont see how i can program/use keyboard shortcuts. I tried the keyboard shortscuts listed in the script, but only the default keys are working when youtube is open. Is there somewhere that i can edit the different keyboard shortcuts? Is there somewhere in the script i need to edit? Or a setting in tampermonkey? I also use Keyboard Maestro, would that be helpful here?

Thanks, Dan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment