// ==UserScript== // @name Basic Macro // @namespace Add Any Site By Typing // @match and your website (above user script // @version 0.1 // @description Regular Split = E Macro Feed = Q // @author Eclipse // @match http://micos.io/* // @match http://germs.io/* // @grant none // @downloadURL https://update.greasyfork.cloud/scripts/24264/Basic%20Macro.user.js // @updateURL https://update.greasyfork.cloud/scripts/24264/Basic%20Macro.meta.js // ==/UserScript== / jshint -W097 / 'use strict'; var SplitInterval; var MacroInterval; var SplitDebounce = false; var MacroDebounce = false; $(document).on('keydown', function(input) { console.log("got keydown") if (input.keyCode == 69) { if (SplitDebounce) { return; } SplitDebounce = true; SplitInterval = setInterval(function() { $("body").trigger($.Event("keydown", { keyCode: 32 })); $("body").trigger($.Event("keyup", { keyCode: 32 })); }, 0); } else if (input.keyCode == 81) { if (MacroDebounce) { return; } MacroDebounce = true; MacroInterval = setInterval(function() { $("body").trigger($.Event("keydown", { keyCode: 87 })); $("body").trigger($.Event("keyup", { keyCode: 87 })); }, 0); } }) $(document).on('keyup', function(input) { if (input.keyCode == 69) { SplitDebounce = false; clearInterval(SplitInterval); return; } else if (input.keyCode == 81) { MacroDebounce = false; clearInterval(MacroInterval); return; } })