Answers:
来自howtogeek.com,它对任何操作系统都有很好的答案。
对于Linux(包括Ubuntu):
setxkbmap -option <OPTION>
在哪里<OPTION>
可以例如:
caps:none
–禁用大写锁定。caps:super
– Caps Lock成为附加的超级键(又名Win键)。caps:ctrl_modifier
– Caps Lock变为附加的Ctrl。caps:numlock
– Caps Lock变为附加的Num Lock。caps:escape
– Caps Lock成为附加的Escape。caps:backspace
– Caps Lock成为附加的Backspace。caps:swapescape
– Caps Lock变为Escape,而Escape变为Caps Lock注意:不赞成使用 Xmodmap,而建议使用 setxkbmap。
setxkbmap
更改(即,如果您需要将Caps键恢复到其原始位置),只需运行以下命令即可:setxkbmap -option
setxkbmap -option caps:backspace
进入xset r 66
瞧。
xmodmap -e 'clear Lock' -e 'keycode 0x42 = Escape'
仍然有效。
gnome-tweak-tool
,在“打字”下您将有类似的设置。
您可以通过以下方法禁用它:转到键盘->布局->选项->大写锁定行为,然后选择“禁用大写锁定”。
编辑:
我不知道为什么其他键盘按键看起来不方便。
但是Launchy在使用CTRL+ Super+ 尝试后可以很好地与我一起工作Space。
您需要launchy
将托盘图标列入白名单。请参阅如何访问系统托盘并启用更多图标?。另外,您还需要将其添加到“启动”应用程序中,因为它在未打开时将无法使用。
毕竟,作为Launcy的替代方法,请尝试Synapse 与gnome和unity的最佳集成。
这基本上是对https://askubuntu.com/a/223674/22073上提供的答案的修改。
您还可以使用来修改Caps Lock的行为XKBOption
。这些更改甚至会传播到虚拟控制台(/ dev / tty [1-6]或Ctrl-Alt-F [1-6])。
例如,要禁用Caps Lock,您将在以下内容中添加以下内容/etc/default/keyboard
:
# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.
# The following variables describe your keyboard and can have the same
# values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options
# in /etc/X11/xorg.conf.
XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="caps:none"
# If you don't want to use the XKB layout on the console, you can
# specify an alternative keymap. Make sure it will be accessible
# before /usr is mounted.
# KMAP=/etc/console-setup/defkeymap.kmap.gz
然后,您将运行:
sudo dpkg-reconfigure keyboard-configuration
有关XKBOPTIONS的自定义项的完整列表,请参阅/usr/share/X11/xkb/rules/base.lst
。这是我的Ubuntu 13.10计算机的完整列表:http : //sprunge.us/cUZO
甚至可以在ArchLinux Wiki上找到更多信息:https : //wiki.archlinux.org/index.php/Keyboard_Configuration_in_Xorg
XKBOPTIONS="ctrl:swapcaps"
习惯用Caps替换Left Ctrl。
要将无用的caps_lock重新映射为基本移位,请执行
xmodmap -e "keycode 66 = Shift_L"
下面的方法在按键时结合使用Compiz来启动应用程序。
综上所述 -
要更改Caps Lock键的行为,可以xmodmap
按以下方式使用:
keycode 66 = cent clear Lock add Control = cent
xmodmap capslock
要永久运行,请将此命令添加到启动应用程序。
现在,按Caps Lock只是模仿按“分”键-请注意,这不是键盘上实际存在的键。
启动CompizConfig设置管理器
在常规部分中,确保已启用“命令”并配置命令,如下所示:
注意:启用键绑定并使用“抓取键组合”识别您的“分”键。不幸的是,您无法使compiz识别大写键本身。
显然-将“ firefox”更改为用于启动“启动”的任何命令
现在,当您按下Caps Lock键时,compiz将识别出映射的“ cent”键并运行命令(在本例中为firefox),在您的情况下为“ launchy”。
使用xev命令。当您按Enter键时,xev将启动。xev将所有输入内容和有关该键的便便信息排入命令行。我建议将鼠标移到xev窗口的退出键上,按一下大写锁定(或您想了解的任何键),然后立即退出xev。我系统上有关大写锁定的相关行如下所示:
KeyPress event, serial 36, synthetic NO, window 0x4400001,
root 0x27a, subw 0x0, time 19164277, (16,-9), root:(1156,46),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 36, synthetic NO, window 0x4400001,
root 0x27a, subw 0x0, time 19164397, (16,-9), root:(1156,46),
state 0x2, keycode 66 (keysym 0xffe5, Caps_Lock), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
注意keycode
(66)和keysym
(0xffe5)。
现在,您还可以获取另一个键的数据-一个您实际上没有使用的键,并且在您要使用大写锁定按钮的情况下,该键什么也不做。因此,例如,如果您想使用大写锁定来激活Unity搜索框(通常像super一样),则可以使用`。在我的机器上:
keycode 49 (keysym 0x60, grave)
使用xmodmap将新键的功能绑定到Caps Lock按钮。我很确定您要使用以下命令:
xmodmap -e "keycode 66=0x60"
现在,如果您在文本框中单击物理大写锁定按钮,则会出现严重字符(`)。但是,如果将快捷键映射到它,它将执行其他操作。如果您希望能够在文本框中使用它,则可以用左移或f10替换大写锁定,或者其他似乎不会干扰您要使用的命令的东西。
对它进行测试,以确保我给您的命令按照您希望的方式工作。
转到启动应用程序,然后将该命令添加到启动应用程序。这样,每次启动时密钥都会正确切换。
舞蹈。
(大声疾呼)将键绑定(从硬件更改为软件)
另外,有关xmodmap的更多帮助:
Ubuntu 16.04
setxkbmap -option <OPTION>
Wernight的回答似乎立即对我起作用。
但是,重新启动后它将消失。为了解决这个问题,我将其添加到启动应用程序中
Startup Applications
>>单击添加/usr/bin/setxkbmap -option <OPTION>
作为命令(注:完整路径是很重要的)替换<OPTION>
为类似的东西caps:escape
(我将其用于vi)
背景
我刚刚从15.10升级到16.04,并且在停止工作之前使用了以前用来映射的内容。
我发现最适合我的选项(在任何与X兼容的wm / de中)正在添加
Option "XkbOptions" "caps:swapescape"
在 - 的里面
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "US"
Option "XkbOptions" "caps:swapescape" # << is what you want
EndSection
/etc/X11/xorg.conf.d/00-keyboard.conf中的块(如有必要,创建)。