您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Use WASD keys to scroll, not just arrow buttons
当前为
// ==UserScript== // @name WASD Scroll hotkeys for websites // @namespace wasd_scroll // @author Owyn // @version 1.0 // @description Use WASD keys to scroll, not just arrow buttons // @supportURL https://github.com/Owyn/WASD_Scroll/issues // @homepage https://github.com/Owyn/WASD_Scroll // @run-at document-end // @grant GM_registerMenuCommand // @include * // ==/UserScript== "use strict"; var by = 70; var scroll_speed = "auto"; // "smooth" / "instant" / "auto" - same as browser settings if (typeof GM_registerMenuCommand !== "undefined") { GM_registerMenuCommand("WASD Scroll - Disable (this once)", disable, "w"); } window.addEventListener("keydown", onkeydown, false); // after all others if (typeof KeyEvent === "undefined") { var KeyEvent = { DOM_VK_A: 65, DOM_VK_D: 68, DOM_VK_S: 83, DOM_VK_W: 87 }; } var inputs = ['input', 'select', 'button', 'textarea', 'pre']; function onkeydown (b) { let a = (window.event) ? b.keyCode : b.which; if (b.altKey || b.ctrlKey || b.metaKey) { return; } let activeElement = document.activeElement; console.warn(activeElement); if (activeElement && inputs.indexOf(activeElement.tagName.toLowerCase()) !== -1) { return; } switch (a) { case KeyEvent.DOM_VK_D: window.scrollBy({ top: 0, left: by, behavior: scroll_speed }); break; case KeyEvent.DOM_VK_A: window.scrollBy({ top: 0, left: by * -1, behavior: scroll_speed }); break; case KeyEvent.DOM_VK_W: window.scrollBy({ top: by * -1, left: 0, behavior: scroll_speed }); break; case KeyEvent.DOM_VK_S: window.scrollBy({ top: by, left: 0, behavior: scroll_speed }); break; } } function disable() { window.removeEventListener("keydown", onkeydown, false); console.warn("WASD Scroll disabled"); }