mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-17 18:42:24 +00:00
ENH:keyboard shortcut in macos
1.fix:global shortcut cannot use in webview panel 2.fix:ban original web-shortcut in webview 3.add cmd+q & cmd+h shortcut in macos 4.move some global shortcut to prepare panel Change-Id: I17ba3c86069dab92df754a319d0c0c3d77b34d74
This commit is contained in:
@@ -142,6 +142,35 @@
|
||||
</body>
|
||||
<script type="text/javascript">
|
||||
//HandleStudio(TestData);
|
||||
document.onkeydown = function (event) {
|
||||
var e = event || window.event || arguments.callee.caller.arguments[0];
|
||||
|
||||
if (e.shiftKey && e.ctrlKey)
|
||||
OutputKey(e.keyCode, true, true, false);
|
||||
else if (e.ctrlKey)
|
||||
OutputKey(e.keyCode, true, false, false);
|
||||
else if (e.keyCode === 27)
|
||||
OutputKey(e.keyCode, false, false, false);
|
||||
|
||||
if (e.shiftKey && e.metaKey)
|
||||
OutputKey(e.keyCode, false, true, true);
|
||||
else if (e.metaKey)
|
||||
OutputKey(e.keyCode, false, false, true);
|
||||
else if (e.keyCode === 27)
|
||||
OutputKey(e.keyCode, false, false, false);
|
||||
|
||||
if (window.event) {
|
||||
try { e.keyCode = 0; } catch (e) { }
|
||||
e.returnValue = false;
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('mousewheel', function (event) {
|
||||
if (event.ctrlKey === true || event.metaKey) {
|
||||
event.preventDefault();
|
||||
}
|
||||
}, { passive: false });
|
||||
|
||||
</script>
|
||||
</html>
|
||||
|
||||
|
||||
@@ -215,4 +215,16 @@ function BeginDownloadNetworkPlugin()
|
||||
SendWXMessage( JSON.stringify(tSend) );
|
||||
}
|
||||
|
||||
function OutputKey(keyCode, isCtrlDown, isShiftDown, isCmdDown) {
|
||||
var tSend = {};
|
||||
tSend['sequence_id'] = Math.round(new Date() / 1000);
|
||||
tSend['command'] = "get_web_shortcut";
|
||||
tSend['key_event'] = {};
|
||||
tSend['key_event']['key'] = keyCode;
|
||||
tSend['key_event']['ctrl'] = isCtrlDown;
|
||||
tSend['key_event']['shift'] = isShiftDown;
|
||||
tSend['key_event']['cmd'] = isCmdDown;
|
||||
|
||||
SendWXMessage(JSON.stringify(tSend));
|
||||
}
|
||||
window.postMessage = HandleStudio;
|
||||
|
||||
Reference in New Issue
Block a user