diff --git a/docs/keyboard.md b/docs/keyboard.md index f1f13cfb..fbe3f2d0 100644 --- a/docs/keyboard.md +++ b/docs/keyboard.md @@ -34,6 +34,7 @@ follows. | Ctrl + Alt + p | playPauseProgram | | Ctrl + Alt + r | refreshScene | | Ctrl + Alt + s | stopProgram | +| Ctrl + Alt + n | penDownToggle | | < | decreaseProgramSpeed | | > | increaseProgramSpeed | | ? | showHide | @@ -89,6 +90,7 @@ with the starting key of a sequence. Those key bindings are as follows: | Alt + p | playPauseProgram | | Alt + r | refreshScene | | Alt + s | stopProgram | +| Alt + n | penDownToggle | | < | decreaseProgramSpeed | | > | increaseProgramSpeed | | ? | showHide | diff --git a/src/App.js b/src/App.js index 69e1b3bd..8a2c69ca 100644 --- a/src/App.js +++ b/src/App.js @@ -865,6 +865,10 @@ export class App extends React.Component { this.handleChangeCharacterPosition('turnRight'); } break; + case("penDownToggle"): + const currentPendownState = this.state.drawingEnabled; + this.handleTogglePenDown(!currentPendownState); + break; case("changeToDefaultTheme"): this.setStateSettings({theme: "mixed"}); break; diff --git a/src/KeyboardInputSchemes.js b/src/KeyboardInputSchemes.js index 6baa10be..9a344a81 100644 --- a/src/KeyboardInputSchemes.js +++ b/src/KeyboardInputSchemes.js @@ -24,6 +24,7 @@ export type ActionName = | "announceScene" | "decreaseProgramSpeed" | "increaseProgramSpeed" + | "penDownToggle" | "playPauseProgram" | "refreshScene" | "showHide" @@ -321,6 +322,10 @@ const AltInputScheme: KeyboardInputScheme = Object.assign({ stopProgram: { keyDef: { code: "KeyS", key: "s", altKey: true}, actionName: "stopProgram" + }, + penDownToggle: { + keyDef: { code: "KeyN", key: "n", altKey: true}, + actionName: "penDownToggle" } }, ExtendedKeyboardSequences); @@ -387,6 +392,10 @@ const ControlAltInputScheme = Object.assign({ keyDef: {code: "KeyS", key: "s", altKey: true, ctrlKey: true}, actionName: "stopProgram" }, + penDownToggle: { + keyDef: { code: "KeyN", key: "n", altKey: true, ctrlKey: true}, + actionName: "penDownToggle" + } }, ControlAltExtendedKeyboardSequences); export const KeyboardInputSchemes:KeyboardInputSchemesType = {