After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 689471 - Cannot use Emacs when Input Source integration is on
Cannot use Emacs when Input Source integration is on
Status: RESOLVED NOTABUG
Product: gnome-shell
Classification: Core
Component: keyboard
3.6.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2012-12-02 03:27 UTC by Mike Qin
Modified: 2013-04-20 17:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Mike Qin 2012-12-02 03:27:01 UTC
In emacs key binding, set-mark (start selection) is bind to C-<space> by default. Most of users has been get use to that and to avoid conflict with input method, users would turn the input method in Emacs off, so that C-<space> won't trigger the input method.

Now however, in Input Source integration when C-<space> is set as trigger input method and input method is disabled in Emacs, C-<space> cannot trigger emacs for set-mark. This is really annoying.
Comment 1 Rui Matos 2012-12-02 11:13:56 UTC
I don't fully understand the problem here.

We don't even have a default key binding to switch input sources so if you set it to ctrl+space you'd certainly expect it to conflict with emacs, no? What could we do?
Comment 2 Mike Qin 2012-12-02 14:51:12 UTC
(In reply to comment #1)
> I don't fully understand the problem here.
> 
> We don't even have a default key binding to switch input sources so if you set
> it to ctrl+space you'd certainly expect it to conflict with emacs, no? What
> could we do?

Well, I think there is another implicit "option" we're missing here. Application could tell the ibus-daemon, "Hey, I'm doing something special, please don't enable input method for me"

Actually what happened in the ibus/fcitx case is, application tell ibus-daemon/fcitx daemon it need input method service, otherwise, don't trigger the input method.
Comment 3 Mike Qin 2012-12-02 15:08:43 UTC
(In reply to comment #1)
> I don't fully understand the problem here.
> 
> We don't even have a default key binding to switch input sources so if you set
> it to ctrl+space you'd certainly expect it to conflict with emacs, no? What
> could we do?

Let's don't think about the conflict thing here, maybe that could help.

So, say we're in GIMP main window, we shouldn't be able to trigger the input method since once it's triggered, there is no way of using gimp's accelerate key (T for text, S for selection...)

There shouldn't be a way to trigger the input method if there is no input context associated.
Comment 4 Rui Matos 2012-12-02 18:51:27 UTC
(In reply to comment #3)
> Let's don't think about the conflict thing here, maybe that could help.
> 
> So, say we're in GIMP main window, we shouldn't be able to trigger the input
> method since once it's triggered, there is no way of using gimp's accelerate
> key (T for text, S for selection...)

Are you sure about that? It actually works here...

> There shouldn't be a way to trigger the input method if there is no input
> context associated.

If there's no text entry widget focused then IBus doesn't even enter the picture, i.e. the application will normally handle the X key events, which is what allows the GIMP in the above example to work correctly.
Comment 5 Mike Qin 2012-12-02 20:11:17 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Let's don't think about the conflict thing here, maybe that could help.
> > 
> > So, say we're in GIMP main window, we shouldn't be able to trigger the input
> > method since once it's triggered, there is no way of using gimp's accelerate
> > key (T for text, S for selection...)
> 
> Are you sure about that? It actually works here...
> 
> > There shouldn't be a way to trigger the input method if there is no input
> > context associated.
> 
> If there's no text entry widget focused then IBus doesn't even enter the
> picture, i.e. the application will normally handle the X key events, which is
> what allows the GIMP in the above example to work correctly.

Sorry... I should have tried. You're right. if there is no context, ibus doesn't enter the picture. This is a very bad example...

So I think the problem here is only the triggering key, right?
Comment 6 Mike Qin 2012-12-02 20:13:13 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Let's don't think about the conflict thing here, maybe that could help.
> > 
> > So, say we're in GIMP main window, we shouldn't be able to trigger the input
> > method since once it's triggered, there is no way of using gimp's accelerate
> > key (T for text, S for selection...)
> 
> Are you sure about that? It actually works here...
> 
> > There shouldn't be a way to trigger the input method if there is no input
> > context associated.
> 
> If there's no text entry widget focused then IBus doesn't even enter the
> picture, i.e. the application will normally handle the X key events, which is
> what allows the GIMP in the above example to work correctly.

BTW actually that's kupfer's react lead me to think GIMP might have the same behaviour...(which is not the case)

So, kupfer seems to create input context itself, even there is no text entry. Sorry about that.
Comment 7 Rui Matos 2013-04-02 08:16:28 UTC
Hi Mike, can we close this now?
Comment 8 Mike Qin 2013-04-20 16:45:26 UTC
(In reply to comment #7)
> Hi Mike, can we close this now?

Sorry for my late reply.

I don't know what is the right way to deal with this issue. Maybe we might want to close this bug for now.

I think the root cause is still the fact the input source integration cannot deal with input context. Users who want to use a context based input solution should fallback to other input methods like fcitx. There don't seems to be any solutions yet.
Comment 9 Rui Matos 2013-04-20 17:10:42 UTC
(In reply to comment #8)
> I don't know what is the right way to deal with this issue. Maybe we might want
> to close this bug for now.

Ok, I'll close this.

> I think the root cause is still the fact the input source integration cannot
> deal with input context. Users who want to use a context based input solution
> should fallback to other input methods like fcitx. There don't seems to be any
> solutions yet.

Note that in Gnome 3.8 the default shortcut to switch input sources is Super+Space so it won't conflict with emacs by default.