在14.04中停用Caps Lock


31

我真的不需要大写锁定(谁呢?),而宁愿将其作为切换键,因为有时我会误打它,尤其是在小型上网本键盘上。由于我在打字时不阅读,这可能意味着我必须重新输入半页。我只找到适用于Ubuntu 12的解决方案,但不适用于Ubuntu 12(以某种方式“键入”对话框看起来完全不同,而不是用户友好)。无论如何,我都尝试过,然后单击+进行自定义快捷方式。它要求我提供一个名称(我输入名称:Caps clock)和一个命令(命令:disable,并且我还尝试了命令:shift),但这没做。它显示在自定义快捷方式下的右侧,但我仍然有大写锁定。我是Linux新手,所以,如果您有答案,请不要只说:使用mxpt.de左右,但请告诉我如何进入对话框或命令提示符,以及我需要做什么。(有人用Gnome Tweak左右有解决方案,但我在Ubuntu 14中找不到该程序)。谢谢


欢迎来到askubuntu!您是否尝试过软件中心?你可以从那里安装它,然后按照指示在这里:askubuntu.com/questions/453793/...
上古野人

Answers:


39

打开终端并输入:

xmodmap -e "keycode 66 = Shift_L NoSymbol Shift_L" 

接着按Enter /返回键应将Caps Lock按钮重新映射为左移。

但是,这将需要在每次引导时执行。您可以执行以下操作,以在每次系统引导时自动运行此程序。

  1. 在破折号中搜索“启动应用程序”并将其打开。

  2. 单击添加。对于名称,将“ Caps Lock to Shift”放到“命令”下xmodmap -e "keycode 66 = Shift_L NoSymbol Shift_L"

  3. 按保存并重新启动。请享用!


如果您想禁用Caps Lock,则可以在终端中执行以下操作:

setxkbmap -option caps:none

再一次,重新启动后将重置此设置,因此添加一个启动项(如上)以在启动时执行此操作。


2
有了这个,我到达了我想要的地方。比你。很大的帮助,包括解释如何到达那里。
卡斯滕·德克尔

没问题,@ Karsten Decker!
Yharooer 2015年

1
我用的是第二个问题,因为问题是TL; DR,当您用谷歌搜索如何禁用大写锁定时会首先出现。
RexFuzzle

这应该是默认的哈哈!
PeterM

26

您可以使用Gnome Tweak Tool重新映射Caps Lock 。

如果愿意,可以通过Ubuntu软件中心安装它,也可以通过命令行来安装它。默认情况下,它未安装在Ubuntu 14.04上。

  1. 通过保持打开一个终端CTRLALTT在一次或通过查询它在仪表。

  2. 输入sudo apt-get install gnome-tweak-tool这告诉apt-get安装gnome-tweak-tool。您需要拥有sudo一个root用户权限才能安装软件。

  3. 打开调整工具

  4. 从左侧栏中选择“键入”。

  5. 选择“大写锁定充当班次”,其中显示“大写锁定键行为”。

屏幕截图描述了上面的步骤5。

版本3.32.0-1的更新

现在该选项位于:

键盘和鼠标>其他布局选项>大写锁定行为


1
谢谢你们俩 我使用了Yharooer的方法,并且能够禁用Caps Lock,这已经足够了。(我无法读取屏幕快照中选项的结尾,因此有点猜测还有什么...)。
卡斯滕·德克尔

我认为这是附加的换档键。无论如何,很高兴它有所帮助!
Yharooer 2015年

1
在17.10中可用!

8

要永久禁用CAPS锁定,请执行以下操作:

xkbset nullify lock

重新启用它

xkbset nullify -lock.

要仅切换CAPS锁定,请执行以下操作:

sudo apt-get install xdotool
xdotool key Caps_Lock

2
谢谢!刚刚解除了许多麻烦。
CIRCLE

6

对于ubuntu 17.04,您可以设置dconf设置:

dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:none']"

无需重新登录。


1
只是说dconf下面的命令写/ org / gnome / desktop / input-sources / xkb-options“ ['caps:none']”也适用于ubuntu 16.04。多亏了海报。
ADW

也适用于18.04。安装Dconf-Editor使用apt-get install dconf-editor -y
AlainD

5

适用于Ubuntu 17.10

sudo apt install -y gnome-tweak-tool
  1. 打开Gnome调整
  2. 从左侧面板中选择“ 键盘和鼠标
  3. 单击右侧的其他布局选项
  4. 单击Caps Lock键行为旁边的箭头。将Caps Lock键设置为所需的键。

2

有很多工具可以满足您的需求。可能最适合您的是Gnome Tweak Tool。要安装它,请在终端中运行以下命令:

sudo apt-get install gnome-tweak-tool

安装完成后:

  1. 打开调整工具,然后单击左列中的键入部分。

  2. 现在,您应该在左侧看到行Caps Lock键的行为。

  3. 选择Disable从下拉列表中。然后应禁用Caps Lock键。


当第一个答案/答案是最好的答案但没有被接受并且第一个答案的副本获得更多投票时,我就会感到厌烦。
弗雷德·汉密尔顿,

从技术上讲,此答案可能不正确(或可能有其他答案)。在使用Genome Tweak Tool的系统Ubuntu 16.04上,我必须选择Caps Lock已禁用而不是Disabled选项。后者指的是在调整工具中禁用Caps Lock键的行为(我认为),因为我的设置为该选项,并且Caps Lock键仍为默认功能。
nicorellius

@nicorellius:完成答案的写作时,就是15.04。

不好,我当时以为是16.04。谢谢。
nicorellius

@nicorellius:好的,很好。

0

这是永久禁用大写锁定,而无需重新启动:

setxkbmap-布局我们-option caps:ctrl_modifier gsettings设置

org.gnome.desktop.input-sources xkb-options“ ['caps:ctrl_modifier']”


0

其他答案显示了两种通过命令(xmodmap -e "keycode 66 = Shift_L NoSymbol Shift_L"setxkbmap -option caps:none)禁用密钥的出色方法,但是没有在启动时运行该密钥的好方法。

来自https://askubuntu.com/a/934797/282454,进行了一些小的编辑:

  1. 将脚本放置在系统范围的目录中,例如/ usr / local / bin并带有适当的shebang

    [已删除脚本示例]

  2. 使它可执行,例如sudo chmod + x /usr/local/bin/disable-caps.sh

  3. 在/etc/lightdm/lightdm.conf.d中创建一个自定义配置文件。使用诸如99-disable-caps.conf之类的名称。(前缀99表示它将在/usr/share/lightdm/lightdm.conf.d中提供的标准安装脚本之后运行。)

    在以下[Seat:*]部分中将脚本的位置添加为display-setup-script : [Seat:*] display-setup-script = /usr/local/bin/disable-caps.sh

    display-setup-script应该在X服务器启动之后但在任何欢迎程序运行之前运行-请参阅LightDM:Adding system hooks

[Seat:*]相对较新(Ubuntu 15.10及更高版本);[SeatDefaults]在较旧的系统上使用。


0

我在16.04上测试了以下内容

1.安装DCONF

sudo apt-get install dconf-tools

2.禁用经典大写行为

以下禁用大写键

setxkbmap -option "caps:none"

3.配置选项以重新启用它(可选)

如果您仍然希望能够重新启用上限,但只能同时按下两个shift键(向左和向右),请尝试以下操作

setxkbmap -option "shift:both_capslock"

0

这是我用来启用/禁用大写锁定的脚本

$ cat ~/bin/caps
#!/bin/bash

let state=1
if [ $# -eq 0 ]; then
    xmodmap -pke | grep 'keycode\s\+66 = Caps_Lock' > /dev/null
    [ $? -eq 1 ] && let state=0
else
    [ "$1" == "on" -o "$1" == "1" ] && let state=0
fi

if [ $state -eq 1 ]; then
    echo "Caps lock off"
    xmodmap -e "keycode 66 = VoidSymbol NoSymbol VoidSymbol"
else
    echo "Caps lock on"
    xmodmap -e "keycode 66 = Caps_Lock NoSymbol Caps_Lock"
fi
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.