NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name YouTube Space // @namespace https://github.com/highstrike // @homepageURL https://github.com/highstrike/youtube-space // @description Fix space bar behaviour when video element is out of focus. // @icon https://raw.githubusercontent.com/highstrike/youtube-space/master/icon.png // @author highstrike // @match *://www.youtube.com/* // @grant none // @version 2.0.0 // @copyright 2024, highstrike (https://openuserjs.org/users/highstrike) // @license GPL-3.0-or-later; http://www.gnu.org/licenses/gpl-3.0.txt // @updateURL https://openuserjs.org/meta/highstrike/YouTube_Space.meta.js // @downloadURL https://openuserjs.org/install/highstrike/YouTube_Space.user.js // ==/UserScript== window.addEventListener('keydown', (e) => { const isSpace = e.code === 'Space'; // Use e.code for better readability const allowedClasses = ['ytp-progress-bar', 'ytp-fine-scrubbing-thumbnails']; if (isSpace && allowedClasses.includes(document.activeElement.className)) { const event = new KeyboardEvent('keydown', { key: 'k', code: 'KeyK', // Use 'code' to specify the key keyCode: 75, which: 75, bubbles: true, cancelable: true }); document.dispatchEvent(event); } });