With most meetings happening online right now, having a system-wide easily accessible way to "push to talk" is very useful, as to not have the microphone stuck open during meetings or having to fiddle with whatever horrible conferencing UI one is using.
Pressing and holding a shortcut will unmute the microphone and unmute again once released. Since KGlobalAccel doesn't have a "press and hold" feature, it basically abuses keyboard repeat and restarts the mute timer when it gets another key press.
Push to talk mode can also be enabled by left clicking the tray icon or using the context menu. Also, when pressing the shortcut it engages the mode if it wasn't enabled before.
Disabling "push to talk" mode restores whatever microphone state was before.
During push to talk mode, the microphone icon changes to a voice icon (proper icon pending).
- Proper explanatory notification
- Remember push to talk setting and remember it across restarts
- Some cleanups and testing and code fixmes to be addressed
- Some better UI? Better discoverable? No idea