var keyboardShortcuts; $(document).ready(function() { if (localStorage.getItem('keyboardShortcuts')) { keyboardShortcuts = JSON.parse(localStorage.getItem('keyboardShortcuts')); } else { keyboardShortcuts = { xP: "arrowright", //X+ xM: "left", //X- yP: "up", //Y+ yM: "down", //Y- zP: "pageup", //Z+ zM: "pagedown", //Z- stepP: "+", // Increase Step Size stepM: "-", // Decrease Step Size estop: "esc", // Abort / Emergency playpause: "space", // Start, Pause, Resume unlockAlarm: "end", // Clear Alarm home: "home", // Home All setzeroxyz: "insert" // Set ZERO XYZ } } bindKeys() }); function bindKeys() { // Clear all current binds $(document).unbind('keydown'); // Bind for Electron Devtools document.addEventListener('keydown', function(evt) { if (evt.which === 123) { try { var focusedWindow = require('electron').remote.getCurrentWindow(); if (focusedWindow.isDevToolsOpened()) { focusedWindow.closeDevTools(); } else { focusedWindow.openDevTools(); } } catch (error) { console.warn(error); } } else if (evt.which === 116) { location.reload(); } }); // Bind for Jog and Control Buttons if (keyboardShortcuts.xM.length) { $(document).bind('keydown', keyboardShortcuts.xM, function() { $('#xM').click() }); } if (keyboardShortcuts.xP.length) { $(document).bind('keydown', keyboardShortcuts.xP, function() { $('#xP').click() }); } if (keyboardShortcuts.yM.length) { $(document).bind('keydown', keyboardShortcuts.yM, function() { $('#yM').click() }); } if (keyboardShortcuts.yP.length) { $(document).bind('keydown', keyboardShortcuts.yP, function() { $('#yP').click() }); } if (keyboardShortcuts.zM.length) { $(document).bind('keydown', keyboardShortcuts.zM, function() { $('#zM').click() }); } if (keyboardShortcuts.zP.length) { $(document).bind('keydown', keyboardShortcuts.zP, function() { $('#zP').click() }); } if (keyboardShortcuts.stepM.length) { $(document).bind('keydown', keyboardShortcuts.stepM, function() { changeStepSize(-1) }); } if (keyboardShortcuts.stepP.length) { $(document).bind('keydown', keyboardShortcuts.stepP, function() { changeStepSize(1) }); } if (keyboardShortcuts.estop.length) { $(document).bind('keydown', keyboardShortcuts.estop, function() { socket.emit('stop', true) }); } if (keyboardShortcuts.playpause.length) { $(document).bind('keydown', keyboardShortcuts.playpause, function() { if (laststatus.comms.connectionStatus == 1 || laststatus.comms.connectionStatus == 2) { socket.emit('runJob', editor.getValue()); } else if (laststatus.comms.connectionStatus == 3) { socket.emit('pause', true); } else if (laststatus.comms.connectionStatus == 4) { socket.emit('resume', true); } }); } if (keyboardShortcuts.unlockAlarm.length) { $(document).bind('keydown', keyboardShortcuts.unlockAlarm, function() { socket.emit('clearAlarm', 2); }); } if (keyboardShortcuts.home.length) { $(document).bind('keydown', keyboardShortcuts.home, function() { home(); }); } if (keyboardShortcuts.setzeroxyz.length) { $(document).bind('keydown', keyboardShortcuts.setzeroxyz, function() { sendGcode('G10 P1 L20 X0 Y0 Z0') }); } localStorage.setItem('keyboardShortcuts', JSON.stringify(keyboardShortcuts)); } function keyboardShortcutsEditor() { var template = `