因此,我只是想将 Control_R 分配给不同的函数,例如mod3
,xmodmap
为此,我添加了以下行.xinitrc
[[ -f ~/.Xmodmap ]] && xmodmap ~/.Xmodmap
之前我已经做过
xmodmap -pke > ~/.Xmodmap
并附加了我需要添加功能的行
clear control
add control = Control_L
add mod3 = Control_R
任何时候我startx
如果xmodmap
输出都没有改变,但只要我这样做source .xinitrc
它就会发生我想要的改变:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25)
mod1 Alt_L (0x40), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Control_R (0x69) ------------------------>
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)
您如何在中实现此功能Debian Buster
?
答案1
事实证明,至少在我的环境下(使用Debian Buster
),要使此操作有效,您需要输入某种命令执行延迟。因此,命令最终会像这样vi ~/.xinitrc
[ -f ~/.Xmodmap ] && { sleep; xmodmap ~/.Xmodmap; } &
这与实际的 Archwiki 页面设置此功能相矛盾(https://wiki.archlinux.org/index.php/Xmodmap)。我不知道 ArchLinux 是否有其自身的特殊性,但如果有人发现同样的错误,请检查上面的行是否能解决它。