6069679a创建于 8月4日历史提交
let initialised = false;

export function initInputModeTracking() {
  if (initialised || typeof document === 'undefined') return;
  initialised = true;

  const root = document.documentElement;
  const set = mode => {
    if (root.dataset.inputMode !== mode) root.dataset.inputMode = mode;
  };

  set('pointer');

  const NAV_KEYS = new Set(['Tab', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'Enter', ' ']);

  window.addEventListener(
    'keydown',
    e => {
      if (e.metaKey || e.ctrlKey || e.altKey) return;
      if (NAV_KEYS.has(e.key)) set('keyboard');
    },
    true
  );

  window.addEventListener('pointerdown', () => set('pointer'), true);
}