Shortcuts: Update modifier for macOS
Overview & Context
Update the macOS toggle modifier in the existing hotkey system from Cmd + Shift to Ctrl + Cmd. Windows/Linux bindings (Ctrl + Shift + <Key>) and P2T keys (Space, W) stay unchanged.
Technical Design & Interfaces
Affected files
- eventBindings.ts — modifier per OS.
- listener.ts — verify two-modifier matching with
Control + Meta. - useHotkeyCombination.tsx — uppercase the trailing key letter.
- hotkeys.test.ts — update modifier expectations.
Modifier matrix
| Function | Windows / Linux | macOS |
|---|---|---|
| Microphone (toggle) | Ctrl + Shift + M |
Ctrl + Cmd + M |
| Video (toggle) | Ctrl + Shift + V |
Ctrl + Cmd + V |
| Fullscreen (toggle) | Ctrl + Shift + F |
Ctrl + Cmd + F |
| Screen Share (toggle) | Ctrl + Shift + S |
Ctrl + Cmd + S |
| Raise Hand (toggle) | Ctrl + Shift + H |
Ctrl + Cmd + H |
| Microphone PTT (hold) | Space |
Space |
| Whisper PTT (hold) | W |
W |
In code: modifier: isMacOS ? ['Control', 'Meta'] : ['Control', 'Shift'].
Implementation Tasks
- Replace
Meta + ShiftwithControl + Metafor all five toggle bindings on macOS in eventBindings.ts - Update useHotkeyCombination.tsx to uppercase the key letter
- Extend hotkeys.test.ts to assert
Control + Metamatching on macOS - Manual verification on macOS (Chrome, Firefox, Safari): all five toggles fire on
Ctrl + Cmd + <Key>-Cmd + Shift + <Key>no longer triggers anything
Definition of Done (DoD)
- Manual verification successful on macOS (Chrome and Firefox) and one Windows/Linux browser to confirm no regression.
- Shortcut strings in tooltips and overlay show the key letter in uppercase
- Unit tests added/updated