File size: 769 Bytes
89ce340 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import { defineStore } from 'pinia'
export interface KeyboardState {
ctrlKeyState: boolean
shiftKeyState: boolean
spaceKeyState: boolean
}
export const useKeyboardStore = defineStore('keyboard', {
state: (): KeyboardState => ({
ctrlKeyState: false, // ctrl键按下状态
shiftKeyState: false, // shift键按下状态
spaceKeyState: false, // space键按下状态
}),
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
},
},
}) |