如何永久交换ESC和Caps锁定在xfce / xubuntu中?


15

不久前,我关注了一些帖子,并说要制作一个~/.xmodmap这样的文件:

! Swap caps lock and escape
remove Lock = Caps_Lock
keysym Escape = Caps_Lock
keysym Caps_Lock = Escape
add Lock = Caps_Lock

我做到了,现在我可以调换esc,并caps lock通过做xmodmap ~/.xmodmap。我希望它是永久性的,因此我将该命令添加到了我的命令中~/.bash_profile,但是它似乎不起作用。我仍然必须手动操作xmodmap。作为EEng辍学对象,我很想重新连接键盘} :-),但我知道必须有更好的方法。我如何永久地进行这项工作?

Answers:


13

执行xfce4-settings-manager,在Session and Startup-> Application autostart中添加一个条目,该条目将执行xmodmap ~/.xmodmap

或将文件重命名为 ~/.Xmodmap


我重命名了文件(它起作用了!),但是令我感到惊讶的是我的.bash_profile方法没有起作用。我以为我的bash-fu不弱:P
Dan Ross

6

xkb 有一个选项可以做到这一点:

caps:swapescape      Swap ESC and Caps Lock

所以你可以简单地加1

/usr/bin/setxkbmap -option "caps:swapescape"

您的XFCE自动启动项。


1:可能会有更好的方法来执行此操作,但我不是XFCE用户


太酷了,我会在下次重启时尝试一下。Xmodmap对我来说并不是很完美,例如,我必须在切换键盘语言后手动触发它。我也不再使用XFCE。太酷了,但是我想在家中进行更多控制(Arch),并更好地与同事在工作中使用的东西进行交互(香草Ubuntu)。
丹·罗斯

@DanRoss-好吧,如果您使用的是gnome(我所熟悉的唯一DE),就像添加caps:swapescape到您的文件中一样简单xkb-options
don_crissti 2015年

3

在Opensuse上的Xfce中,我按照archlinux Wiki上的说明通过编辑文件交换了我的密钥EscCaps Lock密钥。我加了一行/etc/X11/xorg.conf.d/00-keyboard.conf

Option "XkbOptions" "caps:swapescape"

到以

Section "InputClass"

然后重新启动我的计算机,事情就完成了。

在编辑文件之前,请先对其进行备份。如果您输入有误,则gui可能无法启动,因此您必须从命令提示符下还原或编辑文件。回想一下在Ubuntu中,我必须将选项行添加到名称不同的键盘配置文件中。


2

使用.Xmodmap对我不起作用。

但是,快速的人xmodmap表示这行得通并且做到了:

.xmodmaprc

可以执行:

xmodmap .xmodmaprc

编辑:确认...我错了...默认值确实在几年前从.xmodmaprc更改为.Xmodmap。创建.Xmodmap文件导致我的xfce加载“滑稽”。在.bash_profile中,我输入:

xmodmap .xmodmaprc

然后它起作用了,并且我有一个脚本重新启动了Xfce,因此一切正常。


0

我已经/usr/bin/setxkbmap -variant altgr-intl -option 'ctrl:nocaps'通过将其放入应用程序自动启动中进行了类似的调整(),如另一个答案所述。但是,在某些时候它对我停止了工作,因此这是我的替代方法:

从“设置”菜单中,选择“可移动驱动器和媒体”,然后选择“输入设备”选项卡。启用“连接USB键盘时自动运行程序”选项,然后输入您选择的setkbmap命令。

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.