How to use Super with Shift_L in keybingings

I wish to bind Super+Shift_L+y and Super+y to different keys. I uses these in my configuration.

Silent Key y A 4 Exec exec actionA # Super+y
Silent Key Y A 4 Exec exec actionB # Super+Shift_L+y

The y and Y here are found in /usr/include/X11/keysymdef.h.

#define XK_y                             0x0079  /* U+0079 LATIN SMALL LETTER Y */
#define XK_Y                             0x0059  /* U+0059 LATIN CAPITAL LETTER Y */

However, the first binding doesn’t work. I have actionB with Super+y and Super+Shift_L+y invokes nothing. How can I bind Super and Shift_L in single keybinding?

y and Y are the same key (fvwm configuration is not case sensitive), so only the second (most recent) key binding takes effect. If you want to do Super+Shift+y you need to add Shift to the list of modifiers. So instead of using just 4 in your modifier, use 4S.

Gratitude. I havn’t noticed such syntax before.

You can find info about syntax in the man page, the wiki has info about key bindings as well, you can also find examples and info in the default-config to help you figure things out. Note that you don’t need Silent, this only keeps warnings if the key doesn’t exist, kinda an old thing and is being deprecated. This was only included in the default-config to deal with key boards that might be missing some keys, since the warnings won’t appear anymore unless you turn logging on.

1 Like