问题描述
遗憾的是,“键盘布局选项”中没有这样的选项。
我该如何手动进行?
最佳方法
要手动执行此操作,您需要在主目录中创建一个名为.Xmodmap的文件。您可以使用终端上的命令执行此操作
~$ gedit ~/.Xmodmap
这将创建文件并在gedit中将其打开。将以下行添加到文件中:
clear control
clear mod1
keycode 37 = Alt_L Meta_L
keycode 64 = Control_L
add control = Control_L Control_R
add mod1 = Alt_L Meta_L
保存文件并退出gedit。下次登录时,新的键盘映射将处于活动状态。要使设置立即生效,请运行以下命令:
~$ xmodmap ~/.Xmodmap
您的计算机上的上述键码可能会有所不同。如果上述方法不起作用,请尝试从命令行运行xev程序。 Xev将在屏幕角落生成一个新的小窗口。如果您开始按键盘上的键,则将获得该键的所有键映射信息。
~$ xev
例如,如果我在运行xev时按“q”,则会得到以下输出:
KeyRelease event, serial 33, synthetic NO, window 0x4c00001,
root 0xb6, subw 0x0, time 9127480, (21,-17), root:(22,36),
state 0x0, keycode 24 (keysym 0x71, q), same_screen YES,
XLookupString gives 1 bytes: (71) "q"
XFilterEvent returns: False
键码24是我们需要的信息。在运行xev的同时按左Ctrl和左Alt键,以获取自己的键码,以确认它们与上面使用的键码相同。
希望能有所帮助。
次佳方法
如果您不想陷入xmodmap
的痛苦,也可以通过gnome设置来完成。
sudo apt-get install gnome-tweak-tool
,将其打开,转到“键入”,然后将Ctrl键位置选项更改为Swap left Alt和Ctrl:
您可能也可以通过gsettings
来执行此操作,但是不确定确切的配置条目名称。
第三种方法
只需使用简单的文本编辑器创建〜/.Xmodmap并重新启动Xserver。
!
! based on: http://www.emacswiki.org/emacs/SwapControlAltAndCapsLock#toc8
!
!----------------------------------------------------------
! Swap Control and Alt keys, both sides
!----------------------------------------------------------
! First clear all modifiers & control
clear control
clear mod1
clear mod4
! Swap Control_L and Alt_L
keycode 64 = Control_L
keycode 37 = Alt_L Meta_L
! Menu becomes Alt_R Meta_R (AltGr)
keycode 135 = Alt_R Meta_R
! Define Control_R and Alt_R similar to Control_L and Alt_L
keycode 108 = Control_L
keycode 105 = Alt_L Meta_L
! We need to set keycodes first, as some programs (emacs!) read
! the key names and seem to ignore what's below.
add mod1 = Alt_L Alt_R Meta_L Meta_R
add mod4 = Super_L Super_R
add control = Control_L Control_R
!------------------------------------------
! Caps_Lock becomes an additional BackSpace
!------------------------------------------
remove lock = Caps_Lock
keysym Caps_Lock = BackSpace