Keyboard grab manager (volume and other media key)
This MR draws inspiration from !163 (closed) and is the first half of phosh#308 (closed)
It is related to phosh!537 (merged)
ToDos (from !163 (closed)):
-
use input event keycodes -
support reporting modifiers -
allow the client to select the media keys it wants to watch -
use a separate interface
OSD, Mediakeys interface and the other DBus goodness which builds on top of this will be done in a separate MR for phosh!566 (merged).
Merge request reports
Activity
mentioned in merge request phosh!537 (merged)
mentioned in merge request !167 (merged)
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
i've split out the format changes into !167 (merged) so this becomes easier to look at in the web ui.
added 7 commits
-
7c9c642e...c1c7ebf7 - 2 commits from branch
Librem5:master
- 69850ace - phosh: Allow to forward volume key keysyms to client
- 8ef13f03 - First draft of keyboard_event interface
- 9858f61a - preparation for GrabManager
- 71410483 - bump protocol version to 5
- a2fbd695 - get rid of phosh_forward_keysym, implement subscription handler
Toggle commit list-
7c9c642e...c1c7ebf7 - 2 commits from branch
added 1 commit
- 92aafba1 - hacky keyforward (similar to guidos version)
added 9 commits
-
92aafba1...d3d1eb8f - 2 commits from branch
Librem5:master
- 0c51c604 - phosh: Allow to forward volume key keysyms to client
- 5b0986d0 - First draft of keyboard_event interface
- ffb9eaed - preparation for GrabManager
- 017b9313 - bump protocol version to 5
- 7ac8b2dd - get rid of phosh_forward_keysym, implement subscription handler
- 46fd4f7f - use correct resource
- 01da36b6 - hacky keyforward (similar to guidos version)
Toggle commit list-
92aafba1...d3d1eb8f - 2 commits from branch
added 11 commits
-
160973b1...cfc76a12 - 2 commits from branch
Librem5:master
- 4155782f - phosh: Allow to forward volume key keysyms to client
- f3c05555 - First draft of keyboard_event interface
- d6251ddf - preparation for GrabManager
- 9aa92367 - bump protocol version to 5
- 5c074f38 - get rid of phosh_forward_keysym, implement subscription handler
- 476535d8 - use correct resource
- cf6facc2 - hacky keyforward (similar to guidos version)
- af1f8d65 - some more implementation work
- 2a87a66d - actually set the keysym on subscribing
Toggle commit list-
160973b1...cfc76a12 - 2 commits from branch
marked the checklist item allow the client to select the media keys it wants to watch (we want to proxy in phosh to
org.gnome.Shell.GrabAccelerators
later on (phosh#98 (closed)) as completed- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
added 1 commit
- e45a662f - Only allow keysym subscription for "subscribeable keysyms"
added 1 commit
- 75813319 - Complete keyboard_events interface description
added 5 commits
-
70a5ce2d...f3c17d9e - 4 commits from branch
Librem5:master
- 3cd485d2 - Implement keyforwarding with a new interface in phosh-private protocol
-
70a5ce2d...f3c17d9e - 4 commits from branch
- Resolved by Evangelos Ribeiro Tzaras
Not quite sure why https://source.puri.sm/devrtz/phoc/-/jobs/281228 fails. Maybe doing the cleanup as in 8e935d1b is not the way to go?
added 1 commit
- 9f69331c - Implement keyforwarding with a new interface in phosh-private protocol
Quick question: At which point would the destroy function which is set via
wl_resource_set_implementation
be called? https://source.puri.sm/devrtz/phoc/-/blob/keyboard-events/src/phosh.c#L242 Can I call it explicitly? Will it be called implicitly somehow? I'm asking because I'm not 100% sure how to do the cleanup properly. See https://source.puri.sm/devrtz/phoc/-/blob/keyboard-events/src/phosh.c#L445Edited by Evangelos Ribeiro Tzarasadded 3 commits
-
2573c434...9db382eb - 2 commits from branch
Librem5:master
- 3030b97b - Implement keyforwarding with a new interface in phosh-private protocol
-
2573c434...9db382eb - 2 commits from branch
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
- Resolved by Evangelos Ribeiro Tzaras
i think this is moving the right way. Maybe @sebastian.krzyszkowiak has some comments otherwise we can merge this after some bikeshedding.