| import { defineStore } from 'pinia' |
|
|
| export interface KeyboardState { |
| ctrlKeyState: boolean |
| shiftKeyState: boolean |
| spaceKeyState: boolean |
| } |
|
|
| export const useKeyboardStore = defineStore('keyboard', { |
| state: (): KeyboardState => ({ |
| ctrlKeyState: false, |
| shiftKeyState: false, |
| spaceKeyState: false, |
| }), |
|
|
| getters: { |
| ctrlOrShiftKeyActive(state) { |
| return state.ctrlKeyState || state.shiftKeyState |
| }, |
| }, |
|
|
| actions: { |
| setCtrlKeyState(active: boolean) { |
| this.ctrlKeyState = active |
| }, |
| setShiftKeyState(active: boolean) { |
| this.shiftKeyState = active |
| }, |
| setSpaceKeyState(active: boolean) { |
| this.spaceKeyState = active |
| }, |
| }, |
| }) |