Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Global shortcuts not registered when dragging Mumble windows #5710

Open
Snowknight26 opened this issue May 30, 2022 · 7 comments
Open

Global shortcuts not registered when dragging Mumble windows #5710

Snowknight26 opened this issue May 30, 2022 · 7 comments
Labels
bug A bug (error) in the software client GlobalShortcuts windows

Comments

@Snowknight26
Copy link
Contributor

Snowknight26 commented May 30, 2022

Description

Whenever a window is being dragged that belongs to the Mumble process, global shortcuts aren't registered. This seems to affect all windows that I tried: main window, settings window, help window, etc. Both keyboard and mouse shortcuts are affected as well.

For example, if you have Push-to-Talk bound to Mouse 5, dragging any Mumble prevents Mouse 5 from being registered as being pressed until the drag event stops.

In the video below, I have a low-level keyboard/mouse hook set, with each key/button press output to the console application on the left. You can see that Mouse 5 (WM_XBUTTON with a 'B' value of '5') corresponds to PTT. When dragging (anything shown after WM_LBUTTONDOWN and before WM_LBUTTONUP [left mouse button down, left mouse button down, respectively]), however, even though Mouse 5 is pressed, Mumble doesn't recognize it.

Steps to reproduce

  1. Open Mumble
  2. Start dragging the main Mumble window by left clicking on the title bar and dragging
  3. While dragging, press a global shortcut

Mumble version

1.4.230

Mumble component

Client

OS

Windows

Reproducible?

Yes

Additional information

No response

Relevant log output

No response

Screenshots

2022-05-29_23-58-04.mp4
@Snowknight26 Snowknight26 added bug A bug (error) in the software triage This issue is waiting to be triaged by one of the project members labels May 30, 2022
@Krzmbrzl
Copy link
Member

My gut feeling tells me that this might be a limitation of the Windows API that we use for shortcuts 🤔

@davidebeatrici could this be the case?

@Krzmbrzl Krzmbrzl added client windows and removed triage This issue is waiting to be triaged by one of the project members labels May 30, 2022
@Snowknight26
Copy link
Contributor Author

I've only minimally researched this but it appears that that Windows blocks messages to the main thread during a window move/resize operation. The solution seems to be to create a new thread, separate from the main GUI thread, to process input messages.

I've tested other programs such as foobar2000 which allow global hotkeys to continue to be registered during window move/resize events, so it's definitely possible.

References:

@davidebeatrici
Copy link
Member

Yes, that's why in a lot of programs the progress bar freezes during a move/resize operation.

I guess we'll have to create a hidden invisible window.

@Flupster
Copy link

Flupster commented Aug 22, 2022

Another note to add

If you drag a user or channel while your push to talk is activated and then let go of your push to talk while the user / channel is now off the mumble window the push to talk will not register the deactivation of the push to talk and will be activated indefinitely or until you activate your push to talk for a second time

@Krzmbrzl
Copy link
Member

@Flupster does this also happen with Mumble 1.4.274 (released yesterday)? 'cause there has been a fix thst I think might also apply to your scenario

@Snowknight26
Copy link
Contributor Author

@Flupster does this also happen with Mumble 1.4.274 (released yesterday)? 'cause there has been a fix thst I think might also apply to your scenario

Yep, definitely happens with 1.4.274 as well.

@Flupster
Copy link

Flupster commented Aug 24, 2022

As an example I've created a quick video to demonstrate the unwanted behaviour

Any time the PTT is activated in the video for an extended period of time the PTT is actually not being held anymore

mumble2.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A bug (error) in the software client GlobalShortcuts windows
Projects
None yet
Development

No branches or pull requests

4 participants