您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
kojijji
// ==UserScript== // @name Desmos Keypress Detection // @namespace theonedesmosmacrothingyeah // @version 1.2.3 // @description kojijji // @author elepsie // @match https://www.desmos.com/calculator* // @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw== // @grant none // ==/UserScript== (function() { 'use strict'; let interval = setInterval(() => { let element = document.querySelector("#graph-container"); console.log("a") if (element) { console.log("orange") clearInterval(interval); callback(element); } }, 100); console.log("yeah") let load = false let thingywingy = 0 let thefolder = '' function macroexpression(lower,upper,latex,folder) { if (folder && folder != '') { console.log("ta") let expressions = Calc.getExpressions() thefolder = expressions.find(expr => expr.type === "folder" && expr.title === folder) } for (let i = 0; i < upper-lower+1; i++) { let latextxt = latex.replaceAll("`a`", (i+lower).toString()) console.log(i+lower) let exid = "input"+thingywingy.toString() let colora = '' if (folder && folder != '' && thefolder !== '') { let state = Calc.getState() state.expressions.list.push({id: exid, latex: latextxt, color: colora, type: "expression", folderId: thefolder.id}) console.log(thefolder.id) console.log(thefolder.title) Calc.setState(state) } else { Calc.setExpression({id: exid, latex: latextxt, color: colora}) } thingywingy++ } } function getIndicesOf(searchStr, str, caseSensitive) { var searchStrLen = searchStr.length; if (searchStrLen == 0) { return []; } var startIndex = 0, index, indices = []; if (!caseSensitive) { str = str.toLowerCase(); searchStr = searchStr.toLowerCase(); } while ((index = str.indexOf(searchStr, startIndex)) > -1) { indices.push(index); startIndex = index + searchStrLen; } return indices; } let container = document.querySelector("#graph-container") let rrsaveBtn = document.createElement('button') rrsaveBtn.id = 'rrsaveBtn' rrsaveBtn.innerHTML = "coolio julio" rrsaveBtn.style.padding = '8px' rrsaveBtn.style.borderRadius = '5px' rrsaveBtn.style.backgroundColor = '#2e2e2e' rrsaveBtn.style.color = '#ffffff' rrsaveBtn.style.border = '2px solid #070614' rrsaveBtn.style.cursor = 'pointer' rrsaveBtn.style.fontSize = '15.4px' rrsaveBtn.style.fontFamily = 'Fira Sans, sans-serif' rrsaveBtn.style.position = 'absolute' rrsaveBtn.style.bottom = '10px' rrsaveBtn.style.right = '10px' let macroshow = document.createElement('div') macroshow.id = 'macrowindow' macroshow.style.backgroundColor = '#2e2e2e' macroshow.style.width = '250px' macroshow.style.height = '250px' macroshow.style.position = 'absolute' macroshow.style.bottom = '50px' macroshow.style.right = '10px' macroshow.style.border = '2px solid #070614' macroshow.style.borderRadius = '5px' macroshow.style.padding = '8px' let macrotype = document.createElement('input') macrotype.type = 'text' macrotype.style.width = '230px' let macronumlow = document.createElement('input') macronumlow.type = 'number' macronumlow.style.position = 'absolute' macronumlow.style.bottom = '40px' macronumlow.style.left = '10px' macronumlow.style.width = '100px' let macrofolder = document.createElement('input') macrofolder.type = 'text' macrofolder.style.position = 'absolute' macrofolder.style.bottom = '100px' macrofolder.style.left = '10px' macrofolder.style.width = '100px' let macronumhigh = document.createElement('input') macronumhigh.type = 'number' macronumhigh.style.position = 'absolute' macronumhigh.style.bottom = '40px' macronumhigh.style.left = '130px' macronumhigh.style.width = '100px' let startbtn = document.createElement('button') startbtn.id = 'rsaveBtn' startbtn.innerHTML = "Start" startbtn.style.padding = '8px' startbtn.style.borderRadius = '5px' startbtn.style.backgroundColor = '#2e2e2e' startbtn.style.height = '27px' startbtn.style.lineHeight = '4px' startbtn.style.color = '#ffffff' startbtn.style.border = '2px solid #070614' startbtn.style.cursor = 'pointer' startbtn.style.fontSize = '15.4px' startbtn.style.fontFamily = 'Fira Sans, sans-serif' startbtn.style.position = 'absolute' startbtn.style.bottom = '10px' startbtn.style.left = '10px' startbtn.addEventListener('click', function() { macroexpression(parseInt(macronumlow.value),parseInt(macronumhigh.value),macrotype.value,macrofolder.value) }) if (load == true) { container.appendChild(rrsaveBtn) container.appendChild(macroshow) macroshow.appendChild(macrotype) macroshow.appendChild(startbtn) macroshow.appendChild(macronumlow) macroshow.appendChild(macronumhigh) macroshow.appendChild(macrofolder) } console.log("oof") setTimeout(function(){ Calc.setExpression({id: "inputskibeidi", latex: "k_{installed} = 1"}); },1200) let on = 0 document.addEventListener('keydown', function(keyt) { console.log("yeahhhhh") let expressions = Calc.getExpressions() Calc.setExpression({id: "inputskibidi", latex: "k_{eypress} = " + keyt.which}) on = keyt.which }) document.addEventListener('keyup', function(keyt) { console.log("yeahhhhh") if (keyt.which == on) { let expressions = Calc.getExpressions() Calc.setExpression({id: "inputskibidi", latex: "k_{eypress} = 0"}) } }) })();