// ==UserScript== // @name Macro Feed // @version 0.1 // @description Press F for feeding // @author Unknown // @match http://bubble.am/* // @require https://code.jquery.com/jquery-latest.js // @require https://cdnjs.cloudflare.com/ajax/libs/canvasjs/1.4.1/canvas.min.js // @run-at document-start // @grant none // @namespace www.facebook.com/risansta // @downloadURL none // ==/UserScript== function pressW() { var oEvent = document.createEvent('KeyboardEvent'); var k = 87; // Chromium Hack Object.defineProperty(oEvent, 'keyCode', { get : function() { return this.keyCodeVal; } }); Object.defineProperty(oEvent, 'which', { get : function() { return this.keyCodeVal; } }); if (oEvent.initKeyboardEvent) { oEvent.initKeyboardEvent("keydown", true, true, document.defaultView, false, false, false, false, k, k); } else { oEvent.initKeyEvent("keydown", true, true, document.defaultView, false, false, false, false, k, 0); } oEvent.keyCodeVal = k; if (oEvent.keyCode !== k) { console.log("keyCode mismatch " + oEvent.keyCode + "(" + oEvent.which + ")"); } document.dispatchEvent(oEvent); var oEvent = document.createEvent('KeyboardEvent'); // Chromium Hack Object.defineProperty(oEvent, 'keyCode', { get : function() { return this.keyCodeVal; } }); Object.defineProperty(oEvent, 'which', { get : function() { return this.keyCodeVal; } }); if (oEvent.initKeyboardEvent) { oEvent.initKeyboardEvent("keyup", true, true, document.defaultView, false, false, false, false, k, k); } else { oEvent.initKeyEvent("keyup", true, true, document.defaultView, false, false, false, false, k, 0); } oEvent.keyCodeVal = k; if (oEvent.keyCode !== k) { console.log("keyCode mismatch " + oEvent.keyCode + "(" + oEvent.which + ")"); } document.dispatchEvent(oEvent); } window.pressW = pressW; document.onkeypress = function(e) { e = e || window.event; if (e.keyCode == 102) { for (var i = 0; i<7; i++) { setTimeout(pressW, i * 80); } } }