Spaces:
Runtime error
Runtime error
window.my_setup_keyboard=setInterval(function(){ | |
let app=document.querySelector("gradio-app"); | |
app=app.shadowRoot??app; | |
let frame=app.querySelector("#sdinfframe").contentWindow; | |
console.log("Check iframe..."); | |
if(frame.setup_shortcut) | |
{ | |
frame.setup_shortcut(json); | |
clearInterval(window.my_setup_keyboard); | |
} | |
}, 1000); | |
var config=JSON.parse(json); | |
var key_map={}; | |
Object.keys(config.shortcut).forEach(k=>{ | |
key_map[config.shortcut[k]]=k; | |
}); | |
document.addEventListener("keydown", e => { | |
if(e.target.tagName!="INPUT"&&e.target.tagName!="GRADIO-APP"&&e.target.tagName!="TEXTAREA") | |
{ | |
let key=e.key; | |
if(e.ctrlKey) | |
{ | |
key="Ctrl+"+e.key; | |
if(key in key_map) | |
{ | |
e.preventDefault(); | |
} | |
} | |
let app=document.querySelector("gradio-app"); | |
app=app.shadowRoot??app; | |
let frame=app.querySelector("#sdinfframe").contentDocument; | |
frame.dispatchEvent( | |
new KeyboardEvent("keydown", {key: e.key, ctrlKey: e.ctrlKey}) | |
); | |
} | |
}) |