diff --git a/src/components/App.js b/src/components/App.js index 158e3f673..cd795af74 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -239,16 +239,17 @@ class App extends Component { let sign = evt.key === 'ArrowUp' ? -1 : 1 this.startAutoscrolling(sign) - } else if ((evt.ctrlKey || evt.metaKey) && ['z', 'Z', 'y'].includes(evt.key)) { + } else if ((evt.ctrlKey || evt.metaKey) && ['z', 'y'].includes(evt.key.toLowerCase())) { if (this.state.busy > 0) return // Hijack browser undo/redo evt.preventDefault() - let action = evt.key === 'z' ? 'undo' - : ['Z', 'y'].includes(evt.key) ? 'redo' - : null + let step = evt.key.toLowerCase() === 'z' ? -1 : 1 + if (evt.shiftKey) step = -step + + let action = step < 0 ? 'undo' : 'redo' if (action != null) { if (helper.isTextLikeElement(document.activeElement)) {