diff --git a/src/components/App.tsx b/src/components/App.tsx index 64ee10b..bfbe2b2 100644 --- a/src/components/App.tsx +++ b/src/components/App.tsx @@ -22,6 +22,22 @@ export function App({initialState, statePersister, fs}: {initialState: State, st const model = new Model(fs, state, setState, statePersister); useEffect(() => model.init()); + useEffect(() => { + const handleKeyDown = (event: KeyboardEvent) => { + if (event.key === 'F5') { + event.preventDefault(); + model.render({isPreview: true, now: true}) + } else if (event.key === 'F6') { + event.preventDefault(); + model.render({isPreview: false, now: true}) + } + }; + window.addEventListener('keydown', handleKeyDown); + return () => { + window.removeEventListener('keydown', handleKeyDown); + }; + }, []); + const zIndexOfPanelsDependingOnFocus = { editor: { editor: 3, diff --git a/src/components/EditorPanel.tsx b/src/components/EditorPanel.tsx index 005960f..621e290 100644 --- a/src/components/EditorPanel.tsx +++ b/src/components/EditorPanel.tsx @@ -50,16 +50,11 @@ export default function EditorPanel({className, style}: {className?: string, sty editor.addAction({ id: "openscad-render", label: "Render OpenSCAD", - keybindings: [ - monaco.KeyMod.CtrlCmd | monaco.KeyCode.Enter, - monaco.KeyCode.F6, - ], run: () => model.render({isPreview: false, now: true}) }); editor.addAction({ id: "openscad-preview", label: "Preview OpenSCAD", - keybindings: [monaco.KeyCode.F5], run: () => model.render({isPreview: true, now: true}) }); setEditor(editor)