export const isMac = () => { return navigator.userAgent.toUpperCase().includes('MAC') } const specialKeysNameMap: Record = { ctrl: '⌘', alt: '⌥', shift: '⇧', } export const getKeyboardKeyNameBySystem = (key: string) => { if (isMac()) return specialKeysNameMap[key] || key return key } const specialKeysCodeMap: Record = { ctrl: 'meta', } export const getKeyboardKeyCodeBySystem = (key: string) => { if (isMac()) return specialKeysCodeMap[key] || key return key } export const isEventTargetInputArea = (target: HTMLElement) => { if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA') return true if (target.contentEditable === 'true') return true }