Skip to content

xfce4-power-manager: Brightness key symbol binding fails on multi-level keys

Key grabbing fails in xfce4-power-manager if the brightness key symbols are mapped to a multi-level key in xkb. A single-level key mapping works. E.g:

This symbol mapping works:

   key.type[group1] = "ONE_LEVEL";
   key <FK01>	{[ XF86MonBrightnessDown ]};

This one fails:

   key.type[group1] = "FK+FN";
   key <FK01>	{[ XF86MonBrightnessDown, F1, F1, F1, XF86_Switch_VT_1, F1 ]};

Environment: xfce4 on X11/FreeBSD 14.2 with nvidia 340 driver. FreeBSD port of xfce4-power-manager-4.20.0

Now, while the brightness keys didn't work on my laptop, the Audio volume keys did. Looking into the sources of xfce4-volumed-pulse, there the keys are bound using the keybinder library. So I changed xfpm-button.c to use the keybinder library as well. With the patch, key grabbing works. Attached you find the patch for Version 4.18.4 : [xfpm-button.c.patch](/uploads/7a4f0e22fa3b6bf96a0be3d1ef422a98/xfpm-button.c.patch)

Regards, Frank

Edited by Frank Hilgendorf