在 xorg 下启用粘滞键(很棒的桌面管理器)

Mac*_*rio 13 linux xorg awesome-wm

我想在 archlinux + awesome 下启用“粘性修饰键”,但我没有找到正确的信息。

Mac*_*rio 23

我懂了。有一个名为 xbkeys 的实用程序,用于为 xorg 设置可访问选项。

来自 xkbset 手册 ($ xkbset man):

To switch sticky keys on or off, and optionally set or reset:
() two keys pressed at the same time stops sticky keys;
() a modifier pressed twice will be locked:

    [-]{sticky|st} [[-]twokey|[-]latchlock]...
Run Code Online (Sandbox Code Playgroud)

我跑了这个:

$ xkbset sticky -twokey -latchlock
Run Code Online (Sandbox Code Playgroud)

该命令可以进入 .xinitrc

# turn on stickykeys. don't let two keys pressed at the same time disable it.
# don't turn on "latch lock", ie pressing a modifier key twice "locks" it on.
xkbset accessx sticky -twokey -latchlock

# don't expire these settings. (run xkbset q exp for details.)
xkbset exp 1 =accessx =sticky =twokey =latchlock
Run Code Online (Sandbox Code Playgroud)

 

  • 这个答案很有帮助!现在我只想找到一种方法来限制 Shift 键的粘性行为。 (3认同)
  • @JayeshBhoot 是的; xkb 有一些键的“闩锁”变体。我通过将我的 Shift 键映射到“ISO_Level2_Latch”来获得粘性移位,它的作用类似于用于修改目的的移位。 (某些专门寻找 Shift 键码的程序不适用于“ISO_Level2”,尤其是游戏。)我的配置在线;但您需要查找一些有关应用自定义键映射的具体细节的文档。 https://github.com/hallettj/dot-xmonad/blob/master/home/.config/X11/xkb/symbols/hallettj (2认同)

gog*_*ors 5

您可以使用 Xmodmap 为 Scroll、Kana、Num、Caps 和 Shift 键设置键锁。也可以通过这种方式重新映射一些 ISO 分组键。例如,在我的键盘上,要将 Left Shift 设置为切换,请使用以下命令:

xmodmap -e "keycode 50 = Shift_Lock"

使用“xev”获取正确的键码。

只需将引号内的命令添加到名为 .Xmodmap 的文件中,然后重新启动 X 以使更改永久生效。

不幸的是,我认为没有锁定 Control、Alt 或 Meta 键的键码。如果你发布一个更具体的问题并添加一个不错的赏金,我可能能够制定一个 shell 脚本和/或 xorg 更改来实现这一点。