baskerville/sxhkd

bracketleft and bracketright both treated as the same keybind

LainLayer opened this issue · 1 comments

I have had the following hotkey in my config for over a year and it has worked great.

super + bracket{left,right}
	bspc desktop -f {prev,next}.local

Recently, on several computers, it seems like bracketleft and bracketright are treated as the same keybind, which causes both buttons on the keyboard to trigger only the command bound to bracketleft (because its first in the queue)

sxhkd also prints this to the terminal:
Hotkey interference found and may not be matched: 'super + bracketright' (from 'super + bracket{left,right}').

i tried binding them separately like so:

super + bracketright
	bspc desktop -f next.local

super + bracketleft
	bspc desktop -f prev.local

same result. whichever one i put first (left or right), is the command that gets executed on both [ and ].
i.e, if you replaced the commands with echo "left" and echo "right", and you bound left first, when pressing [][][][] youd get

left 
left
left
...

When i try to bind only one of the keys, both keys still trigger the command, i.e:

super + bracketleft
	bspc desktop -f prev.local

This will still bind both [ and ].

I verified with xev that my keyboard isn't messed up and its indeed showing the correct key codes for each button.

version: 0.6.2
OS: arch linux
kernel: 6.1.7-zen
tried packages: sxhkd and sxhkd-git
possibly note worthy:
I have this line in my bspwmrc
setxkbmap -layout us,il,ru -option grp:win_space_toggle
It never caused problems before, but ive seen other people having issues with keyboard maps.
And i did check that i am on english-us layout.

Update with more information.

Sometimes when i boot up, this key bind works correctly. Most of the time it does not.

I tried the same idea with xbindkeys and it works as intended with no issues.