import { useMouseNoteStore } from "../../store/useUIToggleStore"; const actionNotes: Record = { 'left+CONTROL': 'Box Select', 'left+SHIFT': 'Multi Select', 'middle+CONTROL': 'Zoom In', }; export function mouseActionHelper() { const setNotes = useMouseNoteStore.getState().setNotes; const activeKeys = new Set(); function updateNotesFromKeys() { const sortedKeys = Array.from(activeKeys).sort(); const leftKey = ['left', ...sortedKeys].join('+'); const middleKey = ['middle', ...sortedKeys].join('+'); const rightKey = ['right', ...sortedKeys].join('+'); setNotes({ Leftnote: actionNotes[leftKey] || '', Middlenote: actionNotes[middleKey] || '', Rightnote: actionNotes[rightKey] || '', }); } function handleKeyDown(event: KeyboardEvent) { activeKeys.add(event.key.toUpperCase()); updateNotesFromKeys(); } function handleKeyUp(event: KeyboardEvent) { activeKeys.delete(event.key.toUpperCase()); updateNotesFromKeys(); } window.addEventListener('keydown', handleKeyDown); window.addEventListener('keyup', handleKeyUp); return () => { window.removeEventListener('keydown', handleKeyDown); window.removeEventListener('keyup', handleKeyUp); }; }