use*_*686 76 xorg keyboard shortcut-keys
过去我用来xmodmap阻止Caps Lock按钮工作,然后告诉Launchy来处理按键。我似乎不能再这样做了。
禁用Caps Lock的正常行为并使其执行其他操作的最佳方法是什么?
Wer*_*ght 91
来自howtogeek.com对任何操作系统都有很好的答案。
对于 Linux(包括 Ubuntu):
setxkbmap -option <OPTION>
Run Code Online (Sandbox Code Playgroud)
哪里<OPTION>可以是例如:
caps:none – 禁用大写锁定。caps:super– Caps Lock 成为一个额外的Super(又名 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。
Jje*_*jed 21

Bin*_*ife 19
您可以通过转到键盘->布局->选项->大写锁定行为并选择“禁用大写锁定”来禁用它。
编辑:
我不知道为什么使用另一个键盘键似乎不方便。
但是Launchy与努力之后正常工作与我CTRL+ Super+ Space。

并且您需要launchy将托盘图标列入白名单。请参阅如何在系统托盘中访问和启用更多图标?. 您还需要将其添加到启动应用程序中,因为它在未打开时将无法运行。
毕竟,作为 Launcy 的替代方案,请尝试使用Synapse 以实现与 gnome 和 unity 的最佳集成。
Eht*_*ury 16
这基本上是对https://askubuntu.com/a/223674/22073 上提供的答案的修改。
您还可以使用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
Run Code Online (Sandbox Code Playgroud)
然后你会运行:
sudo dpkg-reconfigure keyboard-configuration
Run Code Online (Sandbox Code Playgroud)
有关 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
小智 12
要将无用的 caps_lock 重新映射到基本的转变,请执行
xmodmap -e "keycode 66 = Shift_L"
Run Code Online (Sandbox Code Playgroud)
以下方法使用 Compiz 的组合在进行按键操作时启动应用程序。
总之 -
太改变 Caps Lock Key 的行为,你可以使用xmodmap如下:
Run Code Online (Sandbox Code Playgroud)keycode 66 = cent clear Lock add Control = cent
xmodmap capslock
要永久运行,请将此命令添加到启动应用程序中。
现在按下 Caps Lock 只是模仿按下“cent”键 - 请注意,这不是我键盘上实际存在的键。
启动 CompizConfig 设置管理器
在常规部分,确保启用“命令”并配置命令,如下所示:

注意启用键绑定并使用“抓取组合键”来识别您的“cent”键。不幸的是,您无法让 compiz 识别大写锁定键本身。

显然 - 为您用来启动“launchy”的任何命令更改“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
Run Code Online (Sandbox Code Playgroud)
注意keycode(66) 和keysym(0xffe5)。
现在,您还可以获取另一个键的数据——一个您并不真正使用的键,并且在您想要使用大写锁定按钮的上下文中,它不会执行任何操作。因此,如果您希望大写锁定来激活 Unity 搜索框(就像 super 通常那样),例如可以使用 `。在我的机器上:
keycode 49 (keysym 0x60, grave)
Run Code Online (Sandbox Code Playgroud)使用 xmodmap 将新键的功能绑定到 Caps Lock 按钮。我很确定你想使用这样的命令:
xmodmap -e "keycode 66=0x60"
Run Code Online (Sandbox Code Playgroud)
现在,如果您点击文本框中的物理大写锁定按钮,则会出现严重字符 (`)。但是如果你将快捷键映射到它,它会做别的事情。如果您希望能够在文本框中使用它,可以将大写锁定替换为左移或 f10,或者其他看起来不会干扰您要使用的命令的东西。
测试它以确保我给你的命令按照你想要的方式工作。
转到启动应用程序,然后将该命令添加到您的启动应用程序中。这样,每次启动时按键都会正确切换。
舞蹈。
(大喊大叫)更改键绑定(硬件到软件)
此外,有关 xmodmap 的更多帮助:
http://www.xfree86.org/4.2.0/xmodmap.1.html
http://www.in-ulm.de/~mascheck/X11/xmodmap.html
| 归档时间: |
|
| 查看次数: |
65366 次 |
| 最近记录: |