如何在Ubuntu Linux中禁用Ctrl + Shift + U?


46

CTRL + 转移 + ü 是Eclipse中的组合快捷键。

但是当我按下它时,它显示出一个 u,就像带下划线的输入一样。我想这个快捷方式已经被Ubuntu声明了,所以我不能使用它。

我曾经通过打字来解决这个问题 大写锁定 第一。有没有更好的方法?

Answers:


40

找到了一种在Ubuntu 13.10上取消绑定的方法。

语言支持 系统设置 并改变 键盘输入法系统 none

然后重启系统。


11
只需退出并重新为我工作。
Martin

在最新的Ubuntu版本中,你只需要去 语言支持 然后 键盘输入法系统 是可用的
vmoh_ir

8
这在Ubuntu 18.0.4 LTS上对我不起作用。有什么想法吗?
Pytry

1
为什么Ubuntu禁用键盘输入系统这么困难?直接进入程序的键击应该是默认值。
weima

2
在ubuntu 18.04上对我不起作用
iRaS

4

像PutzKipa解释的那样改变输入法实际上解决了这个问题。

但是,我没能在KDE ubuntu 14.04下找到任何配置面板来完成工作和标准 IM-配置 实用性似乎破了。我终于成功创建了一个文件 〜/ .xinputrc 包含一行:

run_im xim

注销/登录。这选择 XIM 作为输入法( 的ibus 是默认值)。如果你删除你的 〜/ .xinputrc , 然后 IM-配置 可以列出可用的输入方法,即使它无法选择一个。


1
这似乎也不适用于16.04 LTS
weima

2

对于Ubuntu 18.04。

我在这个问题上挣扎了两天。我尝试了前面列出的所有方法。看起来我想出了一个解决方案。但它非常不稳定并且有漏洞。

基本思路是这样的:在系统设置中,您可以指定由该程序启动的命令 按Ctrl + 转移 + ü 关键组合。

注意:如果您指定 false 作为命令,组合根本不起作用。

但是,我们可以将脚本的路径指定为命令,在该命令中我们将模拟按下相同的组合键。

为了模拟击键,我尝试了 xdotoolapt install xdotool )和 xteapt install xautomation )。 两种选择都不稳定。然而, xte 结果对我来说更灵活。

用例子 xte

  • 创建一个文件 /home/username/shortcut.sh
  • 添加执行权限: chmod u+x /home/username/shortcut.sh
  • 指定脚本的路径作为命令 按Ctrl + 转移 + ü 键盘设置中的键组合

这是一个示例脚本:

#!/bin/sh
# Make a small delay in order to have time to release the keys.
sleep 0.2

# Simulate the release of just pressed keys, if they are still pressed.
xte 'keyup u' 'keyup Shift_L' 'keyup Control_L'

# Hack: Caps_Lock is used so that the system does not intercept this combination.
# You can try to remove it if it hinders you.
xte 'key Caps_Lock'

# Simulate pressing a key combination
xte 'keydown Shift_L' 'keydown Control_L' 'key u'

# Simulate releasing a key combination
xte 'keyup Shift_L' 'keyup Control_L'

# Restore Caps_Lock to the previous state.
xte 'key Caps_Lock'

我在PhpStorm 2018.2 EAP Build#PS-182.3458.35中对此进行了测试,我可以说它有效,但有一些警告:

  • 这很慢(在我相当老的PC上)
  • 在执行脚本期间,最好不要按任何键
  • 有时它可能无法正常工作
  • 有时它可以进入无限循环。因此,最好在脚本中添加一个脚本已经运行的检查。

一般情况下,如果您不经常使用此组合,则此解决方案可能适合您。

但是,可能有人会提出一个更好,更稳定的解决方案。

我希望这个想法会对某人有所帮助。


1

尝试:

export GTK_IM_MODULE="gtk-im-context-simple"

然后从同一个shell运行Eclipse。或者,如果这不起作用,

export GTK_IM_MODULE="xim"

(此测试仅适用于从同一shell命令行运行export命令然后运行Eclipse,如果使用桌面快捷方式或“应用程序”菜单,则不会更改任何内容,或者从新she​​ll运行Eclipse。)

如果任一测试有效,您可以通过将其添加到系统范围进行更改 /etc/environment或者每个用户 ~/.gnomerc。 (该 export 命令不会进入那些文件,只是一个新行 GTK_IM_MODULE="xim" 要么 GTK_IM_MODULE="gtk-im-context-simple"。)

听起来这个行为来自GTK的输入映射,如下所述: https://developer.gnome.org/gtk3/unstable/GtkIMContext.html

...这被称为预编辑,并且输入方法可以通过将中间组成状态显示为预编辑文本来提供关于该过程的反馈。例如,默认的GTK +输入方法通过按住Control和Shift键然后键入“U”,然后键入代码点的十六进制数字来实现任意Unicode代码点的输入。释放Control和Shift键时,预编辑结束,字符作为文本插入。例如,Ctrl + Shift + u20AC会产生€符号。

GTK被Ubuntu中的许多常见应用程序使用,包括Eclipse。


1

Ubuntu 14.04 / 18.04解决方案

最近升级到18.04,并努力解决这个问题。

  1. 打开 搜索 运用 super
  2. 语言支持
  3. 点击 键盘输入法系统 下拉菜单并选择 没有

Language Support Menu

  1. 别忘了 点击 - 适用于整个系统
  2. 关上窗户(直到你这样做才会激活)
  3. 重启(注销可能就够了)

信用去 反向问题 在askubuntu - 由于某种原因有人想要启用此快捷方式。


这个解决方案对我不起作用。我还应该重启吗? (我现在打开太多窗户,无法快速测试)
desa

重启后工作(也许退出就够了)@desa谢谢生病更新答案
ShmulikA

在18.04没有解决问题
James

1

Ubuntu 18.04

在Ubuntu 18.04上遇到这个问题,我已经尝试了上面的所有建议,但不幸的是没有一个工作。我最终卸载了 ibus 包。

背景/旁注

我试图禁用IBus

  1. Language Support 菜单
  2. im-config (设定 ~/.xinputrc
  3. sudo im-config (设定 /etc/X11/xinit/xinputrc

然而,我注意到无论我尝试了什么配置,ibus守护程序在我重新启动后每次都在运行。


1
  1. ibus-setup 从终端(或打开IBus首选项)。
  2. 转到“表情符号”。
  3. 在“Unicode代码点:”旁边,单击三个点(即 ... )。
  4. 在对话框中,单击“删除”,然后单击“确定”。
  5. 关闭IBus首选项窗口。

0

打开终端窗口。

cd ~/.gconf/desktop/gnome/interface
gedit %gconf.xml

将show_unicode_menu从true更改为false。

保存,退出并重新登录。


/desktop/gnome/interface/show_unicode_menu 已被禁用( false )问题是键盘快捷键,而不是菜单。
MariuszS

好好利用时间,低估了差不多两年的答案。
John Barry

7
两年后这个问题仍然有效......为什么不呢?
MariuszS

禁用show_unicode_menu适用于基本操作系统,虽然我使用不同的工具来完成这项工作:dconf-editor。无论如何,这指向了正确的键,谢谢。
Hoang Tran
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.