Added basic keyboard shortcut manual

This commit is contained in:
Joel Collins 2020-07-06 11:29:31 +01:00
parent 3aa5be814d
commit 4dfb56c109

View file

@ -7,6 +7,26 @@
<loadingContent v-if="!$store.getters.ready" /> <loadingContent v-if="!$store.getters.ready" />
<div v-if="$store.getters.ready" id="tour-header"></div> <div v-if="$store.getters.ready" id="tour-header"></div>
<appContent v-if="$store.getters.ready" /> <appContent v-if="$store.getters.ready" />
<!-- Runtime modals -->
<div
id="modal-center"
ref="keyboardManualModal"
class="uk-flex-top"
uk-modal
>
<div class="uk-modal-dialog uk-modal-body uk-margin-auto-vertical">
<button class="uk-modal-close-default" type="button" uk-close></button>
<div
v-for="shortcut in keyboardManual"
:key="shortcut.shortcut"
class="uk-margin-small"
uk-grid
>
<div class="uk-width-small">{{ shortcut.shortcut }}</div>
<div class="uk-width-expand">{{ shortcut.description }}</div>
</div>
</div>
</div>
<v-tour <v-tour
v-show="$store.getters.ready" v-show="$store.getters.ready"
name="guidedTour" name="guidedTour"
@ -57,8 +77,8 @@ export default {
data: function() { data: function() {
return { return {
appAvailable: false, appAvailable: false,
keysDown: {},
arrowKeysDown: {}, arrowKeysDown: {},
keyboardManual: [],
systemDark: undefined, systemDark: undefined,
themeObserver: undefined, themeObserver: undefined,
tourCallbacks: { tourCallbacks: {
@ -189,8 +209,9 @@ export default {
// Keyboard shortcuts // Keyboard shortcuts
// TODO: Shortcut guide // TODO: Shortcut guide
Mousetrap.bind("?", function() { Mousetrap.bind("?", () => {
console.log("show shortcuts!"); console.log(this.keyboardManual);
this.toggleModalElement(this.$refs["keyboardManualModal"]); // Calls the mixin
}); });
// Arrow keys // Arrow keys
@ -209,6 +230,10 @@ export default {
}, },
"keyup" "keyup"
); );
this.keyboardManual.push({
shortcut: "←↑→↓",
description: "Move the microscope stage"
});
// Focus keys // Focus keys
Mousetrap.bind("pageup", () => { Mousetrap.bind("pageup", () => {
@ -217,16 +242,40 @@ export default {
Mousetrap.bind("pagedown", () => { Mousetrap.bind("pagedown", () => {
this.$root.$emit("globalMoveStepEvent", 0, 0, -1); this.$root.$emit("globalMoveStepEvent", 0, 0, -1);
}); });
this.keyboardManual.push({
shortcut: "pgup / pgdn",
description: "Move the microscope focus"
});
// Capture // Capture
Mousetrap.bind("c", () => { Mousetrap.bind("c", () => {
this.$root.$emit("globalCaptureEvent"); this.$root.$emit("globalCaptureEvent");
}); });
this.keyboardManual.push({
shortcut: "c",
description: "Take a capture"
});
// Autofocus // Autofocus
Mousetrap.bind("a", () => { Mousetrap.bind("a", () => {
this.$root.$emit("globalFastAutofocusEvent"); this.$root.$emit("globalFastAutofocusEvent");
}); });
this.keyboardManual.push({
shortcut: "a",
description: "Fast autofocus"
});
// Increment/decrement tab
Mousetrap.bind("shift+down", () => {
this.$root.$emit("globalIncrementTab");
});
Mousetrap.bind("shift+up", () => {
this.$root.$emit("globalDecrementTab");
});
this.keyboardManual.push({
shortcut: "shift+↑ / shift+↓",
description: "Switch tab"
});
// Re-run tour // Re-run tour
Mousetrap.bind("alt+t", () => { Mousetrap.bind("alt+t", () => {