import { create } from 'zustand'; export interface KeyboardState { ctrlKeyState: boolean; shiftKeyState: boolean; spaceKeyState: boolean; // Getters ctrlOrShiftKeyActive: () => boolean; // Actions setCtrlKeyState: (active: boolean) => void; setShiftKeyState: (active: boolean) => void; setSpaceKeyState: (active: boolean) => void; } export const useKeyboardStore = create((set, get) => ({ // Initial state ctrlKeyState: false, // Ctrl key pressed state shiftKeyState: false, // Shift key pressed state spaceKeyState: false, // Space key pressed state // Getters ctrlOrShiftKeyActive: () => { const state = get(); return state.ctrlKeyState || state.shiftKeyState; }, // Actions setCtrlKeyState: (active) => set({ ctrlKeyState: active }), setShiftKeyState: (active) => set({ shiftKeyState: active }), setSpaceKeyState: (active) => set({ spaceKeyState: active }), }));