// ==UserScript== // @name Bubble.am Script By Yomoi // @namespace Bubble.am // @version 1.0.0 // @description Shift Is Split, Q Is Macro // @author Yomoi // @match http://bubble.am/* // @grant none // @downloadURL https://update.greasyfork.icu/scripts/22735/Bubbleam%20Script%20By%20Yomoi.user.js // @updateURL https://update.greasyfork.icu/scripts/22735/Bubbleam%20Script%20By%20Yomoi.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 == 16) { 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 == 16) { SplitDebounce = false; clearInterval(SplitInterval); return; } else if (input.keyCode == 81) { MacroDebounce = false; clearInterval(MacroInterval); return; } })