Re: Review Request 129967: Make KGlobalaccel X11 track XInput events to still work when an application grabs the keyboard

2017-02-24 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129967/#review102585
---



As an idea: if I understand correctly the main motivation is to be able to 
trigger the volume control keys while a context menu is open. You are not that 
much interested in e.g. triggering Alt+Tab while context menu is shown.

So a possibility might be to add this to the client side. Assuming the Qt case: 
if keyboard is grabbed, context menu is open and the key event is not handled 
and one of the special keys which the application does not care about, it could 
close the context menu and XTest the event again. Then kglobalaccel would be 
able to handle it.

- Martin Gräßlin


On Feb. 24, 2017, 5:26 p.m., David Edmundson wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129967/
> ---
> 
> (Updated Feb. 24, 2017, 5:26 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kglobalaccel
> 
> 
> Description
> ---
> 
> This means shortcuts still work when keyboard is grabbed by another
> application. This allows us to still take a screenshot/change volume
> with a context menu open.
> 
> The existing code doesn't seem to actually handle dynamic keyboard
> layout switching, this code matches that behaviour.
> 
> Interestingly alt+tab behavior is unchanged so it doesn't /severely/ break
> legitimate keyboard grabs like virtualbox.
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 0de00d4a6b0700a0c36fe291a8240bea43e62cc2 
>   cmake/modules/FindXKB.cmake PRE-CREATION 
>   src/runtime/plugins/xcb/CMakeLists.txt 
> 45bf4dc9f9ec9146a0db5f93b4259ea6c4306d17 
>   src/runtime/plugins/xcb/kglobalaccel_x11.h 
> 88b7f61e9cfa5e30df7f04f492a864f1ce8eb37a 
>   src/runtime/plugins/xcb/kglobalaccel_x11.cpp 
> 9b37c7b600d6f25a0ea43643d8dee2593c3b7417 
> 
> Diff: https://git.reviewboard.kde.org/r/129967/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> David Edmundson
> 
>



Re: Review Request 129967: Make KGlobalaccel X11 track XInput events to still work when an application grabs the keyboard

2017-02-24 Thread Martin Gräßlin

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129967/#review102584
---



This introduces a security issue as it would be possible to trigger global 
shortcuts while the screen is locked. Given that I am reluctant to accept it. 
This will also mean lots of bug reports raised due to it. Also it can result in 
severe issues in code which currently can savely assume that no global shortcut 
gets trigger. Large parts of KWin rely on the knowledge that no global shortcut 
gets triggered. E.g. Present Windows and Alt+Tab are mutual exclusive due to 
the keyboard grab. This change would result in undefined behavior in such a 
situation. It is not known how the code would react as that is outside the 
specification. We don't know how many more applications rely on keyboard 
grabbing not triggering global shortcuts.

For what is worth: on Wayland it is possible to trigger global shortcuts while 
context menus are open. I think now it is better to spend the time on making 
Wayland a first class citizen than to try working around X11 limitations.

- Martin Gräßlin


On Feb. 24, 2017, 5:26 p.m., David Edmundson wrote:
> 
> ---
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/129967/
> ---
> 
> (Updated Feb. 24, 2017, 5:26 p.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kglobalaccel
> 
> 
> Description
> ---
> 
> This means shortcuts still work when keyboard is grabbed by another
> application. This allows us to still take a screenshot/change volume
> with a context menu open.
> 
> The existing code doesn't seem to actually handle dynamic keyboard
> layout switching, this code matches that behaviour.
> 
> Interestingly alt+tab behavior is unchanged so it doesn't /severely/ break
> legitimate keyboard grabs like virtualbox.
> 
> 
> Diffs
> -
> 
>   CMakeLists.txt 0de00d4a6b0700a0c36fe291a8240bea43e62cc2 
>   cmake/modules/FindXKB.cmake PRE-CREATION 
>   src/runtime/plugins/xcb/CMakeLists.txt 
> 45bf4dc9f9ec9146a0db5f93b4259ea6c4306d17 
>   src/runtime/plugins/xcb/kglobalaccel_x11.h 
> 88b7f61e9cfa5e30df7f04f492a864f1ce8eb37a 
>   src/runtime/plugins/xcb/kglobalaccel_x11.cpp 
> 9b37c7b600d6f25a0ea43643d8dee2593c3b7417 
> 
> Diff: https://git.reviewboard.kde.org/r/129967/diff/
> 
> 
> Testing
> ---
> 
> 
> Thanks,
> 
> David Edmundson
> 
>



Review Request 129967: Make KGlobalaccel X11 track XInput events to still work when an application grabs the keyboard

2017-02-24 Thread David Edmundson

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/129967/
---

Review request for KDE Frameworks.


Repository: kglobalaccel


Description
---

This means shortcuts still work when keyboard is grabbed by another
application. This allows us to still take a screenshot/change volume
with a context menu open.

The existing code doesn't seem to actually handle dynamic keyboard
layout switching, this code matches that behaviour.

Interestingly alt+tab behavior is unchanged so it doesn't /severely/ break
legitimate keyboard grabs like virtualbox.


Diffs
-

  CMakeLists.txt 0de00d4a6b0700a0c36fe291a8240bea43e62cc2 
  cmake/modules/FindXKB.cmake PRE-CREATION 
  src/runtime/plugins/xcb/CMakeLists.txt 
45bf4dc9f9ec9146a0db5f93b4259ea6c4306d17 
  src/runtime/plugins/xcb/kglobalaccel_x11.h 
88b7f61e9cfa5e30df7f04f492a864f1ce8eb37a 
  src/runtime/plugins/xcb/kglobalaccel_x11.cpp 
9b37c7b600d6f25a0ea43643d8dee2593c3b7417 

Diff: https://git.reviewboard.kde.org/r/129967/diff/


Testing
---


Thanks,

David Edmundson