所以我想使用我的 sxhkd 创建一个键绑定,其功能类似于在 tmux 中创建窗格的绑定。
我之前创建过绑定,所以我知道我可以使用它来打印出键名,这里是按下时的xev
输出: %
"
KeyPress 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8068709,(324,604),根:(325,624),状态 0x0,键码 50(keysym 0xffe1,Shift_L),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False
KeyPress 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8069165,(324,604),根:(325,624),状态 0x1,键码 14(keysym 0x25,百分比),same_screen YES,XLookupString 给出 1 个字节:(25)“%”XmbLookupString 给出 1 个字节:(25)“%”XFilterEvent 返回:False
KeyRelease 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8069236,(324,604),根:(325,624),状态 0x1,键码 14(keysym 0x25,百分比),same_screen YES,XLookupString 给出 1 个字节:(25)“%”XFilterEvent 返回:False
KeyRelease 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8069615,(324,604),根:(325,624),状态 0x1,键码 50(keysym 0xffe1,Shift_L),same_screen YES,XLookupString 给出 0 个字节:XFilter Event 返回:False
KeyPress 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8090326,(324,604),根:(325,624),状态 0x0,键码 62(keysym 0xffe2,Shift_R),same_screen YES,XLookupString 给出 0 个字节:XmbLookupString 给出 0 个字节:XFilterEvent 返回:False
KeyPress 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8090442,(324,604),根:(325,624),状态 0x1,键码 48(keysym 0x22,quotedbl),same_screen YES,XLookupString 给出 1 个字节:(22)“” XmbLookupString 给出 1 个字节:(22)“” XFilterEvent 返回:False
KeyRelease 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8090593,(324,604),根:(325,624),状态 0x1,键码 48(keysym 0x22,quotedbl),same_screen YES,XLookupString 给出 1 个字节:(22)“”XFilterEvent 返回:False
KeyRelease 事件,序列 32,合成 NO,窗口 0x2200001,根 0x9f,subw 0x0,时间 8090652,(324,604),根:(325,624),状态 0x1,键码 62(keysym 0xffe2,Shift_R),same_screen YES,XLookupString 给出 0 个字节:XFilterEvent 返回:False
因此,~/.config/sxhkd/sxhkdrc
我把:
super + percent
bspc window -p right && urxvt
super + quotedbl
bspc window -p down && urxvt
现在,当我重新启动 sxhkd 并按下super + %
按键时什么也没有发生,但其他绑定却完美运行。
- 为什么 sxhkd 不能识别百分比键?
- sxhkd 是否将百分比键标识为与 xev 给出的名称不同的名称?
编辑:我在 sxhkd git repo 中做了更多搜索,找到了存储每个键的键符编号的文件。
在parse.c
:
{"percent" , 0x0025}
我尝试将其更改为0x25
并重新编译,但仍然没有运气。:(
答案1
所以经过大量测试后我找到了自己的一些解决方案。
事实证明,百分比键可以很好地识别,但不能与超级键一起使用
选项 1)@
在键前面添加
@super + percent
bspc window -p right && urxvt
这有效,但仅在您释放按键后才有效
选项 2)super
用任何其他键替换
我决定采用方案 2,并将其替换super
为ctrl
ctrl + {percent,quotedbl}
bspc window -p {right,down} && urxvt