(onEscape: () => void)
| 23 | let registered = false |
| 24 | |
| 25 | export function registerEscHotkey(onEscape: () => void): boolean { |
| 26 | if (registered) return true |
| 27 | const cu = requireComputerUseSwift() |
| 28 | if (!cu.hotkey.registerEscape(onEscape)) { |
| 29 | // CGEvent.tapCreate failed — typically missing Accessibility permission. |
| 30 | // CU still works, just without ESC abort. Mirrors Cowork's escAbort.ts:81. |
| 31 | logForDebugging('[cu-esc] registerEscape returned false', { level: 'warn' }) |
| 32 | return false |
| 33 | } |
| 34 | retainPump() |
| 35 | registered = true |
| 36 | logForDebugging('[cu-esc] registered') |
| 37 | return true |
| 38 | } |
| 39 | |
| 40 | export function unregisterEscHotkey(): void { |
| 41 | if (!registered) return |
no test coverage detected