sxhkd icon indicating copy to clipboard operation
sxhkd copied to clipboard

sxhkd does not properly recognize all keysys mapped to keycodes that are not accessed with press or shift+press

Open BombchuLink opened this issue 4 years ago • 3 comments

When mapping certain keys in keysys such as ¤ and ¢ in sxhkdrc they do not function as intended, if they are not accessed via keycodes with press or shift+press (ie Mode_switch or ISO_Level3_Shift)

super + Return
	$TERMINAL
super + ¢
	$TERMINAL

the first instance of the bind works as intended, but the second does not.

For reference, here is a list of all keysys. https://wiki.linuxquestions.org/wiki/List_of_keysyms

At the very least, adding support for all keysys that are supported by Xmodmap would be appreciated, as most people would be binding these keys to their keyboards https://wiki.linuxquestions.org/wiki/List_of_Keysyms_Recognised_by_Xmodmap

BombchuLink avatar Sep 29 '20 03:09 BombchuLink

Try using cent instead of ¢..

super + cent
	$TERMINAL

emanuele6 avatar Sep 29 '20 05:09 emanuele6

Still doesn't work. If I map ¢ to a normal, or shift, on a keycode, it seems to work fine.

After doing some more digging I've found out that at sxhkd.c:231, it seems to only allow shift, caps lock, and scroll lock to pass though and have normal behavior in modifcation of what is pulled from the keycodes.

If it was possible to optionally add modifier keys to this list (via the config) that would probably solve the issue.

BombchuLink avatar Sep 29 '20 06:09 BombchuLink

Some extra pointers after snooping around more:

grab_key_button function in grab.c get_lock_fields in parse.c

These functions don't account for Mode_switch or ISO_Level3_Shift even though they probably should, so that looks like something that probably should be changed as well.

Also in some areas there's a straight up blacklist on reading modkeys, I'm unsure if on these, it includes shift or not in these evaluations of XCB_MOD_MASK_ANY but I think it would be worth checking out if there are still issues.

BombchuLink avatar Sep 29 '20 07:09 BombchuLink