Re: 3.6 Feature: IBus/XKB integration
- From: Owen Taylor <otaylor redhat com>
- To: Rui Tiago Cação Matos <tiagomatos gmail com>
- Cc: desktop-devel-list <desktop-devel-list gnome org>
- Subject: Re: 3.6 Feature: IBus/XKB integration
- Date: Tue, 24 Apr 2012 13:54:07 -0400
On Tue, 2012-04-24 at 17:56 +0200, Rui Tiago Cação Matos wrote:
> > And, of course, there is a question
> > of performance - invoking setxkbmap (even calling corresponding XKB
> > APIs) is so much more expensive than changing current group in X
> > server...
>
> Well, if you're running GNOME 3 I'd say your computer can certainly handle that.
I'm worried about performance here as well - when the keyboard layout
changes, there's a lot of work that has to be done. For GTK+, look at
the usage of keymap_serial in x11/gdkkeys-x11.c. For Mutter,
we, among other things may:
- Get the keyboard geometry and iterate through it to identify
the "above tab" key.
- Ungrab all keys
- Grab all keys again.
A second issue is that toolkits need to have information about
not-currently-active layouts in order to handle accelerators properly.
If my UI language is English, and I have a Russian layout and an English
layout, then Alt-F should give me the file menu, Control-C should
copy without regard to the current layout. This is something that was
a big improvement for users when we implemented it in GTK+.
So, I don't think it really works to just ignore the group mechanism of
XKB and always load a one-group layout... it makes more sense to me to
identify what layouts are needed for all the input sources and load them
into a single keymap ahead of time. Yes, that might limit the user to
switching between 4 languages, but, really, how common is it to need
more than that?
- Owen
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]