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


12

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


什么是“粘滞键”?
丹尼尔·安德森

正确,我的意思是“粘性修改键”,这意味着按下修改键可充当切换键,通常在下一次按键时释放切换键,因此不必同时按下键,而是可以按顺序按下。这是OS-X,Gnome以及可能是Windows上的残障用户功能的可访问性,我发现使用此功能时它更舒适且不费力。
Macario '04

Answers:


21

我懂了。有一个名为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]...

我跑了这个:

$ xkbset sticky -twokey -latchlock

该命令可以输入.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

 



该软件包可在debian中获得xkbset
杰西·哈莱特

3
这个答案很有帮助!现在,我只想找到一种将粘滞行为限制为Shift键的方法。
杰西·哈莱特

1
@JayeshBhoot是的;xkb具有某些密钥的“闩锁”变体。通过将我的Shift键映射到ISO_Level2_Latch类似修改器目的的shift键,我得到了粘滞移位。(某些寻找shift键代码的程序特别不适用于ISO_Level2,尤其是游戏。)我的配置在线;但是您需要查找一些有关应用自定义键映射的特定详细信息的文档。github.com/hallettj/dot-xmonad/blob/master/home/.config/X11/xkb/...
杰西·哈利特

1
@JesseHallett谢谢您的指导!我将尽快尝试。
Jayesh Bhoot

5

您可以使用Xmodmap为Scroll,Kana,Num,Caps和Shift键设置键锁。同样,某些ISO分组键也可以通过这种方式重新映射。例如,在键盘上,要将“左移”设置为切换按钮,请使用以下命令:

xmodmap -e“键码50 = Shift_Lock”

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

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

不幸的是,我认为没有用于锁定Control,Alt或Meta键的键码。如果您发布了一个更具体的问题并添加了不错的赏金,我也许可以制定出一个shell脚本和/或xorg更改以使之成为可能。


不幸的是,我没有更多要提供的积分,我真的很想念cntrl,window,alt,meta等粘性修改器
Macario

XKB是一种更好的方法。检查Arch Wiki
phil pirozhkov 2014年

1

启用粘滞键的一种方法是StickyKeys_Enable按键。如果您没有将其映射到键盘,则可以使用例如Xdotool模拟按键:

> xdotool key StickyKeys_Enable

-1

据我所知,Xorg不支持这一点。对于自定义键盘驱动程序而言,实现这一目标并非不可想象,但我从未遇到过这样的事情。


嗯...我真的很想拥有这个,而不必求助于Gnome或XFCE ...真可恶!
Macario
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.