当 alt-shift 是快捷方式的一部分时,可切换键盘映射

当 alt-shift 是快捷方式的一部分时,可切换键盘映射

我有两个 xkb 布局,并使用Alt+Shift在它们之间切换:

setxkbmap "fr,us" -option grp:alt_shift_toggle

但是,当我按下包含Alt+的快捷方式时Shift,不会考虑该快捷方式,而是布局切换。例如Alt+ Shift+ Left(在某些编辑器中选择匹配右括号的代码),或Alt+ Shift+ %(在 emacs 中搜索和替换,法语键盘上%需要)。Shift

我认为 XUbuntu 14.04 并非如此,但我切换到 NixOs,现在遇到了这个问题。

如何配置setxkbmap,以便仅当Alt+Shift不是快捷方式的一部分时(即释放按键时且仅当没有同时按下另一个键时)才切换布局?

答案1

这是一个已知的限制在 xkb 中。 sxhkd 将是一个更好的解决方案,并为您提供更好的控制。

将其添加到 sxhkdrc:

Shift_L + Alt_L
    setxkbmap -query | grep -q 'fr' && setxkbmap us || setxkbmap fr,us
Shift_R + Alt_R
    setxkbmap -query | grep -q 'fr' && setxkbmap us || setxkbmap fr,us

请注意,由于某种原因,alt必须先按下才能shift被 sxhkd 检测到。

相关内容