Consider getting rid of the "suppression" mechanism (global shortcuts) #2240

Open
opened 2026-02-20 22:02:42 -05:00 by deekerman · 6 comments
Owner

Originally created by @davidebeatrici on GitHub (Jun 4, 2021).

"Suppression" means preventing other applications from receiving the input message.

#4941 removed support for the feature on Windows because the API we're now using doesn't allow to filter input.

The main reason for that is performance: the operating system doesn't have to wait until a response is returned before passing the input message to other applications.

macOS is now the only platform we support the feature on:

github.com/mumble-voip/mumble@4fab1880e1/src/mumble/GlobalShortcut_macx.mm (L149-L154)

github.com/mumble-voip/mumble@4fab1880e1/src/mumble/GlobalShortcut_macx.mm (L476-L478)

In order to work it requires the user to grant Mumble "accessibility" permissions:

macOS 10.15 (Catalina) introduced a new privacy category called "Input Monitoring", as explained at WWDC 2019:

https://user-images.githubusercontent.com/5897523/120877430-bb2de900-c5b6-11eb-843c-f3a9fe0bd366.mp4

By specifying that we only want to listen for input and don't filter it, we wouldn't need accessibility permissions anymore.

Originally created by @davidebeatrici on GitHub (Jun 4, 2021). "Suppression" means preventing other applications from receiving the input message. #4941 removed support for the feature on Windows because the API we're now using doesn't allow to filter input. The main reason for that is performance: the operating system doesn't have to wait until a response is returned before passing the input message to other applications. macOS is now the only platform we support the feature on: https://github.com/mumble-voip/mumble/blob/4fab1880e119b23f340e9001350b975c531778c5/src/mumble/GlobalShortcut_macx.mm#L149-L154 https://github.com/mumble-voip/mumble/blob/4fab1880e119b23f340e9001350b975c531778c5/src/mumble/GlobalShortcut_macx.mm#L476-L478 In order to work it requires the user to grant Mumble "accessibility" permissions: ![](https://user-images.githubusercontent.com/5897523/120876633-48bb0a00-c5b2-11eb-9bd3-53568d8b189f.png) macOS 10.15 (Catalina) introduced a new privacy category called "Input Monitoring", as explained at [WWDC 2019](https://developer.apple.com/videos/play/wwdc2019/701): https://user-images.githubusercontent.com/5897523/120877430-bb2de900-c5b6-11eb-843c-f3a9fe0bd366.mp4 By specifying that we only want to listen for input and don't filter it, we wouldn't need accessibility permissions anymore.
Author
Owner

@Kissaki commented on GitHub (Jun 5, 2021):

I think suppression can be a useful feature, but I don’t think keeping the functionality around just for macOS is worth it, especially with the requirement issues you lay out here.

@Kissaki commented on GitHub (Jun 5, 2021): I think suppression can be a useful feature, but I don’t think keeping the functionality around just for macOS is worth it, especially with the requirement issues you lay out here.
Author
Owner

@Kissaki commented on GitHub (Jun 5, 2021):

The discussion label, which I think would fit here, is no longer a thing?

@Kissaki commented on GitHub (Jun 5, 2021): The discussion label, which I think would fit here, is no longer a thing?
Author
Owner

@Krzmbrzl commented on GitHub (Jun 5, 2021):

I think ditching this feature is fine. Especially if this prevents us from having to ask for special permissions

@Krzmbrzl commented on GitHub (Jun 5, 2021): I think ditching this feature is fine. Especially if this prevents us from having to ask for special permissions
Author
Owner

@sheepa commented on GitHub (Feb 7, 2023):

I still run 1.3 for this specific feature.

@sheepa commented on GitHub (Feb 7, 2023): I still run 1.3 for this specific feature.
Author
Owner

@Krzmbrzl commented on GitHub (Feb 7, 2023):

It can't be helped though. The new API doesn't support it and the old had serious input lag issues (system-wide), which is not acceptable 🤷

@Krzmbrzl commented on GitHub (Feb 7, 2023): It can't be helped though. The new API doesn't support it and the old had serious input lag issues (system-wide), which is not acceptable :shrug:
Author
Owner

@davidebeatrici commented on GitHub (Feb 7, 2023):

Ideally the operating system itself should provide a way to configure a global filter, perhaps with granular control based on the application(s).

@davidebeatrici commented on GitHub (Feb 7, 2023): Ideally the operating system itself should provide a way to configure a global filter, perhaps with granular control based on the application(s).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/mumble-mumble-voip#2240
No description provided.