Bug 484525 - Global Shortcuts Portal: Binding activated / Binding released events are triggering inconsistently
Summary: Global Shortcuts Portal: Binding activated / Binding released events are trig...
Status: REPORTED
Alias: None
Product: xdg-desktop-portal-kde
Classification: Plasma
Component: general (show other bugs)
Version: git-master
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-26 13:39 UTC by winblocker
Modified: 2024-03-28 19:16 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description winblocker 2024-03-26 13:39:51 UTC
***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

SUMMARY
If you hold down a binding set up through the portal a constant stream of "Binding activated" events are being send. This is fine. But this stream stops when an additional key is pressed even though the keys required for the binding are still being held. And what is even worse is that if i release the key that is not assigned to the binding a "Binding deactivated" event is being send.
This breaks all push to talk use especially when playing video games. It will cancel your push to talk every time you move with wasd for example.

STEPS TO REPRODUCE
1. Bind some portal bindings
2. Watch the events as you press the binding + additional buttons

OBSERVED RESULT
"3rd party" keys break portal bindings

EXPECTED RESULT
"Binding activated" should fire as long as all key that are assigned to the binding are being held. Regardless of other keys. "Binding deactivated" should only trigger if one of the keys that are assigned to the binding are released.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.0.2
KDE Frameworks Version: 6.0.0
Qt Version: 6.6.2
Kernel Version: 6.8.1-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 32 × AMD Ryzen 9 5950X 16-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: AMD Radeon RX 6900 XT

ADDITIONAL INFORMATION
Python app for your testing convenience:
https://gist.github.com/Aviana/a3a0368172e326d6ccc57cb254c1e569
Comment 1 Aleix Pol 2024-03-28 19:00:38 UTC
Can you please provide an implementation that we can test? It would make our life considerably easier.
Comment 2 winblocker 2024-03-28 19:16:30 UTC
See "ADDITIONAL INFORMATION" at the end of the original post.