Bug 8479 - Can't send system keys on Raspberry Pi
Summary: Can't send system keys on Raspberry Pi
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Client (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: MediumPrio
Assignee: Bugzilla mail exporter
URL:
Keywords:
Depends on:
Blocks: keyboard
  Show dependency treegraph
 
Reported: 2024-12-18 14:35 CET by Adam Halim
Modified: 2025-01-27 09:18 CET (History)
0 users

See Also:
Acceptance Criteria:


Attachments

Description Adam Halim cendio 2024-12-18 14:35:33 CET
When testing the 4.18.0rc1 client on rpi4 (Raspbian 12), I was unable to send any system keys to the server when in fullscreen mode (alt+tab, super key etc).

It looks like this feature is broken on the wayland window managers available in Raspbian (Wayfire & Labwc). Switching to X11 solved this issue.

To switch window manager, run
> sudo raspi-config
and go to "6 Advanced Options > Wayland".
Comment 1 Adam Halim cendio 2024-12-18 14:57:51 CET
Note that the behaviour is identical using client 4.17.0, and I'm positive that keyboard grab worked when we did release testing for 4.17.0.
Comment 2 Adam Halim cendio 2025-01-24 16:33:16 CET
Tested alt+tabbing with Remmina and RealVNC and could confirm that it only worked with X11.

It seems like the protocol keyboard-shortcuts-inhibit-unstable-v1 [1] needs to be implemented for keyboard grabbing to work.

Wayfire introduced this in v0.9.0 [2], and Raspbian packages version 0.7.5. We did not try to build/upgrade to a newer version to test if it would resolve the issue.

Labwc, on the other hand, have not implemented the protocol, and seem to have taken some stance regarding it [3].

[1] https://wayland.app/protocols/keyboard-shortcuts-inhibit-unstable-v1
[2] https://github.com/WayfireWM/wayfire/commit/ada3a6ba2176134dc084cf373a38cd3521c1996d
[3] https://github.com/labwc/labwc/issues/1046
Comment 3 Adam Halim cendio 2025-01-27 09:18:38 CET
labwc recommends using something called "ToggleKeybinds" [1] to get around this issue.

I was able to make it work with tlclient by placing the following into $HOME/.config/labwc/rc.xml:
> <?xml version="1.0"?>
> <labwc_config>
> 	<keyboard>
> 		<keybind key="F12">
> 		    <action name="ToggleKeybinds"/>
> 		</keybind>
> 	</keyboard>
> </labwc_config>
Pressing F12 toggles whether keybinds should go directly to the focused window instead. 


[1] https://labwc.github.io/labwc-actions.5.html#entry_action_name=togglekeybinds

Note You need to log in before you can comment on or make changes to this bug.