How to disable Ctrl+Shift+U?

Ctrl+Shift+U is a combined shortcut in Eclipse.

But when I press it, it shows up a u, just like input with an underline. I guess this shortcut has been declared by Ubuntu, so I can't use it.

I used to solve this problem by typing Caps Lock first.

Is there any better method?


Solution 1:

Found a way to unbind it on Ubuntu 13.10.

Go to Language Support on System Settings and change the Keyboard input method system to none

Then restart the system or just log out and log in.

Solution 2:

Problem

The problem is that with the "Ibus" input method, "Ctrl-shift-u" is by default configured to the "Unicode Code Point" shortcut. You can try this: Type ctrl-shift-u, then an (underlined) u appears. If you then type a unicode code point number in hex (e.g. 21, the ASCII/unicode CP for !) and press enter, it is replaced with the corresponding character.

Example of ctr-shift-u

Solution

This shortcut can be changed or disabled using the ibus-setup utility:

  1. Run ibus-setup from the terminal (or open IBus Preferences).
  2. Go to “Emoji”.
  3. Next to “Unicode code point:”, click on the three dots (i.e. ...).
  4. In the dialog, click “Delete”, then “OK”.
  5. Close the IBus Preferences window.

Ibus preferences window

Solution 3:

Ubuntu 18.04 Solution

@ShmulikA's answer was close, but unfortunately, selecting "None" did not work for me. I can confirm the process below works in 18.04 as of April 2019.

  1. Open Search using Super key (aka WIN for folks like me)
  2. Type "language support" and hit ENTER

enter image description here

  1. Click the Keyboard input method system dropdown menu and select XIM

enter image description here

  1. Click Close
  2. Reboot

When I logged back in, I was able to set CTRL+SHIFT+U as a shortcut in Visual Studio Code.

Solution 4:

I use Ubuntu 18.10 and had trouble in a particular app (Intellij Idea).

In this askUbuntu answer, Kayvan Tehrani shows a setting that works for me in that setting. Set the XMODIFIERS to an empty string before running your application:

export XMODIFIERS=""
myapp.sh

In my case, myapp.sh was idea.sh, and I added the line inside the file:

#!/bin/sh
#
# ---------------------------------------------------------------------
# IntelliJ IDEA startup script.
# ---------------------------------------------------------------------
#
export XMODIFIERS=""
...

This way, my desktop shortcut still works.

XMODIFIERS apparently changes the way xim and ibus works, and when it's cleared, it disables the CTRL-SHIFT-U combo, allowing it to filter into the current app.

Solution 5:

Try:

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

and then run Eclipse from the same shell. Or if that doesn't work,

export GTK_IM_MODULE="xim"

(This test only works entering running the export command and then Eclipse from the same shell command line, it won't change anything if you use a desktop shortcut or the Applications menu, or run Eclipse from a new shell.)

If either test works, you can make the change system-wide by adding it to /etc/environment, or per-user in ~/.gnomerc. (The export command doesn't go in those files, just a new line with GTK_IM_MODULE="xim" or GTK_IM_MODULE="gtk-im-context-simple".)

It sounds like this behavior comes from GTK's input mappings as described here.

... This is called preediting, and an input method may provide feedback about this process by displaying the intermediate composition states as preedit text. For instance, the default GTK+ input method implements the input of arbitrary Unicode code points by holding down the Control and Shift keys and then typing “U” followed by the hexadecimal digits of the code point. When releasing the Control and Shift keys, preediting ends and the character is inserted as text. Ctrl+Shift+u20AC for example results in the € sign.

GTK is used by a whole lot of common apps in Ubuntu, including Eclipse.