如何将大写锁定键与退格键交换位置?

我想交换Capslock和Backspace按键,但只能把它们混在一起。我的意思是:按下Capslock会像Backspace键一样工作,但同时也会激活大写锁定(包括LED指示灯)。

当我使用Gnome时,键盘设置可以轻松完成此切换。在XFCE中,这些选项不可用,所以我尝试使用Xmodmapxkeycaps。Xkeycaps甚至可以将设置导出到.Xmodmap文件,但某种方式它不起作用。我在这里缺少什么!

当前的.Xmodmap文件(已注释掉,因为它会产生错误消息“bad keysym in remove modifier list 'Caps_Lock', no corresponding keycodes",这在论坛上有详细描述)

keycode  66 = BackSpace
! remove Lock    = Caps_Lock
remove Mod5    = Mode_switch Mode_switch

参考xmodmap在.profile等文件中加载并没有起作用。 如果其他方法都不起作用,我可以安装Gnome-Keyboard Settings工具在我的xfce系统上,这个工具是哪个软件包?
编辑: setxkbmap -option caps:backspace可以工作,但是:按住键不会重复,除非我同时使用xmodmap -e "clear Lock"。虽然不太优雅,但显然有效。

我刚刚了解到setxkbmap和选项"caps:backspace",这似乎是gnome通过图形界面实现的方式。 - marto
setxkbmap -option caps:backspace 可以起作用,但是:按住键不会重复输入 - marto
是的,谢谢你的提示。 - marto
3个回答

为了结束这个问题,我会添加我的当前修复方法。也许其他人也可以用到。将以下内容放入一个脚本中,在桌面环境启动时自动运行:
setxkbmap -option caps:backspace
setxkbmap -option shift:both_capslock
xmodmap -e "clear Lock"

4对于Ubuntu操作系统,请参见http://askubuntu.com/a/432966/12648,无需使用`xmodmap`或自动启动,只需在dconf-editor的org >> gnome >> desktop >> input-sources >> xkb-options列表中添加选项'caps:backspace','shift:both_capslock'。 - bonger
2@bonger,dconf-editor在Ubuntu 14.04上无法处理按键重复的问题。 - A.Wan
@bonger 给出的答案对我有效。请注意,在自定义值中,您需要添加文本 ['caps:backspace', 'shift:both_capslock'],不要忘记括号。 - Mo D Genesis

你实际上可以对你的按键交换进行一些更改。点击屏幕右上角的电源图标。选择“系统设置”,双击“键盘布局”。在弹出框中找到“选项”并点击它。寻找“大写锁定键行为”,点击该选项前面的箭头,在下拉菜单中选择“将大写锁定键作为额外的退格键”。希望这回答了你的问题。谢谢。

我使用的是XFCE,正如我所描述的那样,在GNOME中没有这样的选项。 我还修改了标签以提高可见性。 - marto
我不明白为什么它对你不起作用。顺便说一下,我也没有使用gnome,但它对我有效。 - all4naija

当我在.xmodmap中交换键时,我总是像这样给出两个命令:
keycode key1 = function key2
keycode key2 = function key1

是的,但不知何故它并不总是有效。或者说它只能部分地发挥作用。机器中的幽灵.. - marto
抱歉,我从来没有遇到过任何问题。之前以为是因为你的.xmodmap文件中只有一个键码命令。 - joschi