/
GreyCat
/
better-clawd
Обзор
Документация
Войти
/
GreyCat
/
better-clawd
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/utils/modifiers.ts
36 строк
1 KB
x1xhlol
initial commit
01 апр 2026, 15:19
01 апр 2026, 15:19
420d415
Код
Авторство
О чём код?
export type ModifierKey = 'shift' | 'command' | 'control' | 'option' let prewarmed = false /** * Pre-warm the native module by loading it in advance. * Call this early to avoid delay on first use. */ export function prewarmModifiers(): void { if (prewarmed || process.platform !== 'darwin') { return } prewarmed = true // Load module in background try { // eslint-disable-next-line @typescript-eslint/no-require-imports const { prewarm } = require('modifiers-napi') as { prewarm: () => void } prewarm() } catch { // Ignore errors during prewarm } } /** * Check if a specific modifier key is currently pressed (synchronous). */ export function isModifierPressed(modifier: ModifierKey): boolean { if (process.platform !== 'darwin') { return false } // Dynamic import to avoid loading native module at top level const { isModifierPressed: nativeIsModifierPressed } = // eslint-disable-next-line @typescript-eslint/no-require-imports require('modifiers-napi') as { isModifierPressed: (m: string) => boolean } return nativeIsModifierPressed(modifier) }