38

Just noticed this annoying emoji input ("Emoji Choice") popping up every time I press Ctrl+Shift+E in 18.04. I really need this shortcut to switch to the file explorer in Visual Studio Code but instead I only get the emoji input. Is there a way to disable this or at least change the shortcut? Don't want to change the VCS's shortcut because of this, I'm really used to it

Kulfy
  • 18,163
Alexander
  • 541

5 Answers5

41

Just a small hint: In case you don't find the IBus Preferences dialog, open a Terminal shell and type

ibus-setup

A dialog like this will appear on your screen:

IBus Preferences dialog

Eliah Kagan
  • 119,820
  • 1
    I had to run sudo ibus-setup due to https://github.com/ibus/ibus/issues/2098 – pcnate May 11 '19 at 18:02
  • 1
    I was annoyed. Now I am excited! Now I use e as shortcut for emoji. But I recommend using containing match. Happy typing <(^.^ )> – nuiun Feb 04 '21 at 01:20
6

Turned out it was the new ibus version that included the emoji package, I was able to change the shortcut in the ibus settings.

Alexander
  • 541
  • 1
    I got a fresh Ubuntu 18.04.3 and there is no such thing as ibus-setup (unless you install ibus... even then, the suggestion does not help), no keyboard shortcut in the shortcuts, but ctrl-shift-E indeed triggers emoji mode... so they use another tool? – Frank N Sep 10 '19 at 16:04
  • It's very odd. I've tested a live 18.04.3 Ubuntu Mate; there's no ibus package installed, and Ctrl+Shift+E does not enable the emoji input, but it still consumes one extra keypress. I've then tested 19.10 beta, and there's no ibus package installed, and Ctrl+Shift+E doesn't not enable the emoji input nor it consumes an extra keypress. I would therefore seem it's a bug in the input system. – Marcus Oct 06 '19 at 20:24
  • For mysterious reasons, today an icon popped up, and it was ibus, which I don't remember installing (I'm not sure it's installed automatically). Note that since the last time I've posted the comment, I moved to Ubuntu MATE 18.04(.4). Anyway, since the icon popped up, removing the ibus hotkey(s) works. Not sure on your setup, but from mine is: dconf write /desktop/ibus/general/hotkey/triggers "@as []". But I think this didn't work on Mint. – Marcus Mar 13 '20 at 22:53
5

For VS Code if installed via Ubuntu Snap you need an input method other than ibus.

If you run VS Code from command line do:

$ GTK_IM_MODULE="xim" code

You can also add an alias for that in .bashrc: alias code='GTK_IM_MODULE="xim" code'

To configure the Dash launcher (assuming VS Code is installed using Snap):

  • The launcher file is located at /var/lib/snapd/desktop/applications/code_code.desktop or ~/.local/share/applications/code_code.desktop, or both
  • Edit it and add GTK_IM_MODULE="xim" to Exec commands:
[Desktop Entry]
...
Exec=env GTK_IM_MODULE="xim" BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /snap/bin/code --force-user-env --no-sandbox --unity-launch %F
...

[Desktop Action new-empty-window] ... Exec=env GTK_IM_MODULE="xim" BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/code_code.desktop /snap/bin/code --force-user-env --no-sandbox --new-window %F Icon=/snap/code/41/meta/gui/com.visualstudio.code.png

zardosht
  • 1,241
  • 1
    If you download the official .deb version of VS Code, it works without changing the input method. – Albo Nov 11 '21 at 12:50
0

I was unable to make any fix related to ibus work, but adding

export GTK_IM_MODULE="xim"

to my ~/.profile and restarting seems to have done the trick.

0

TL;DR

I also ran into this issue while trying to use VSCode Ctrl + . shortcut (and some on Terminator). If you have gsettings just run:

gsettings set org.freedesktop.ibus.panel.emoji hotkey $'[\'<Control><Alt><Shift>e\']'

ibus-restart

Or replace $'[\'<Control><Alt><Shift>e\']' with "@as []" to disable it.


Elaborated

I didn't wanted to tinker too much with VSCode's config files because I have installed it using the .deb, so any changes probably would be lost on updates (I do ignore what could happen with snap pkg updates too), neither wanted to modify my profile config files nor the ibus package/ppa itself, so I went with the mere simple: restart the ibus daemon after changes.

Steps:

  1. As many other answers have pointed out: On terminal, run ibus-setup (no sudo required), go to Emoji tab and delete/change Emoji annotation (three dots button ...) for whatever key combo (mine was Control + Alt + Shift + E), click Apply, and close.

    • If you have gsettings (GNOME, MATE and perhaps KDE), you can also change this directly from terminal with gsettings set org.freedesktop.ibus.panel.emoji hotkey $'[\'<Control><Alt><Shift>e\']', just set it up however you want.
  2. You'll notice that the change is not actually applied yet, so next step is to run on terminal ibus restart (note that doesn't have dash - unlike previous command); this will prompt an alert saying something like "The IBus daemon is not running, enable it?", and click Yes.

    • After this, it may display another alert with further instructions -changes based on your system- for preventing ibus to execute on start, if you need it. You can follow them if you want, but just clicking Ok to continue is enough.

Done. Using this method will allow you to keep changing the keybindings from ibus without need of restarting it on every new change (tested it!), basically it kinda fixes the bug. For me, it also fixed every other conflicting shortcuts in Terminator. I haven't tested if trying to change keybindings again after a reboot/logout will require to repeat both steps, because of the daemon.

That was the easiest way I ended up fixing this on Ubuntu 22.04.1, 24.04 and Mint Xia 22.1 (MATE+Wayland), without changing/exporting anything to my ~./profile, neither install/uninstall/reconfigure ibus again, and after trying with 3 or 4 more methods (such as the ones on this question) that implied changing config files of each individual conflicting app. Also I haven't used other D.E. recently so I'm not sure if this could help over them.

Sources:

Riuaux
  • 1
  • 1