This is to provide a ticket system for Fedora Internationalization (I18N) team and git repo that we use for any common tools.  |  https://fedoraproject.org/wiki/I18N

#36 Disabling/blacklisting Indic XKB keyboard layouts in Gnome

Created 2 years ago by petersen
Modified 7 months ago

= phenomenon =
GNOME has plans to redesign Region and Languages in gnome-control-center.
I thought it would be good to have more of us look over this and review it,
so that we can provide early timely feedback on the planned design changes.


Document is bit old 2012. Will further disucss in next meeting.

I am not sure on the newest plans actually. There are the recent changes:

https://wiki.gnome.org/action/info/Design/SystemSettings/RegionAndLanguage?action=info (might need wiki login).

It may be good to discuss the plans with Allan and Rui.

Let me try to reach out to the GNOME guys to understand any redesign plans better.

Waiting to hear more details from rtcm and aday.

I would like to suggest we can provide input too.

Need to discuss with rtcm about this. Might be need to find some time from him to talk. Fedora 21 already done. Good to try for this during Fedora 22.

We have an IRC meeting with Rui Matos and Alan Day about this on
2014-11-27 8:00 UTC in #fedora-i18n.

Chat log of the meeting:

<rtcm> mfabian: hi [14年11月27日 09:04:06]
<mfabian> rtcm: Hi! [14年11月27日 09:04:12]
<rtcm> is it here? [14年11月27日 09:04:16]
<mfabian> I thought so. Is it OK? [14年11月27日 09:04:29]
<mfabian> rtcm: aday yet here. And unfortunately Jens seems to have no time now
(He is in Brisbane) [14年11月27日 09:05:09]
<rtcm> mfabian: ok. aday sent an email yesterday, if he doesn't show up we can
at least talk about it a little bit [14年11月27日 09:07:47]
<mfabian> OK! [14年11月27日 09:07:53]
<anish_> hi rtcm mfabian ! [14年11月27日 09:08:08]
<rtcm> anish_: hello [14年11月27日 09:08:50]
anish_ looks at ueno paragan fujiwarat epico tagoh_ [14年11月27日 09:09:21]
<mfabian> I wonder whether the gear-wheel thing behind the input engines was
removed on purpose or by accident. [14年11月27日 09:09:45]
<tagoh_> anish_: yes? [14年11月27日 09:10:00]
<mfabian> Allan Day seemed to think in his e-mail that it is not important.
<paragan> hi [14年11月27日 09:10:13]
<mfabian> Allan> Is it necessary to differentiate input engines in the UI? My
[14年11月27日 09:10:32]
<mfabian> understanding is that, when people select an input method, they either
<mfabian> want something generic to their locale (eg. "United Kingdom,
<mfabian> English"), or something specific (like pinyin) - in which case they
<mfabian> will know what they are looking for. Identifying input method engines
<mfabian> doesn't help you there particularly.
<epico> hi [14年11月27日 09:10:45]
<anish_> tagoh_, it meeting about g-c-c redesign plans do you want to join?
[14年11月27日 09:11:10]
<mfabian> I feel that the difference is important and that it is nicer to see
clearly whether an entry is an input engine or a plain keyboard
layout. [14年11月27日 09:11:59]
<epico> mfabian, yeah, a plain keyboard layout is faster. [14年11月27日 09:12:58]
<mfabian> - input engines usually have some kind of setup tool, keyboard layouts
don’t. [14年11月27日 09:13:02]
<rtcm> mfabian: the gear icon is still there in g-c-c I believe ?
[14年11月27日 09:14:23]
<anish_> speaking of keyboard layouts, I think would be nice if we can drop xkb
layouts for Indian languages [14年11月27日 09:14:48]
<mfabian> - keyboard layouts work everywhere, input engines do not work in
applications not supporting input methods (e.g. one user was confused
about a Russian input methods "behaving weirdly in xawtv, a plain X11
application not supporting XIM, the reason was that that input method
does not work in such applications at all and what he sees in
applications like xawtv is the keyboard layout used last before
switching to that input engine. He [14年11月27日 09:15:24]
<mfabian> didn’t know about the difference and was very confused and even
reported a bug about weird behaviour in xawtv).
<mfabian> anish_: yes, apparently the Indian keyboard layouts do not work as
well as the Indian input engines do. [14年11月27日 09:15:55]
<mfabian> So it might be a good idea to blacklist the Indian keyboard layouts.
[14年11月27日 09:16:18]
<rtcm> mfabian: g-i-s doesn't have the icon, but that's mostly due to how g-i-s
was born - a lot of code just copied from g-c-c and then edited as
needed. I'm currently in the process of moving g-i-s back into g-c-c so
that most of the code is actually the same [14年11月27日 09:17:01]
<anish_> mfabian, yeah but blacklist is not appropriate here, we simply remove
it [14年11月27日 09:17:17]
<rtcm> anish_: mfabian: re. layouts, there are a
lot of layouts that I'd live
to remove [14年11月27日 09:17:47]
<mfabian> Or, if they are not blacklisted, showing the difference between an
input engine and a keyboard layout is useful here as well (Indian
keyboard layout: will have some problems because typing a single key
cannot insert multiple characters, Indian input engine: does not have
that problem) [14年11月27日 09:17:49]
<mfabian> anish_: remove would mean remove it from the "xkeyboard-config"
package? [14年11月27日 09:18:46]
<anish_> mfabian, yeah if its not useful or no longer used why to keep it
[14年11月27日 09:19:14]
<mfabian> In case of the Indian keyboard layouts, if they are not working
properly, it is probably best not to offer them to the user at all
(Why offer something which does not work well? That’s only
confusing.) [14年11月27日 09:19:47]
<mfabian> Allan Day mentioned pinyin, which is a phonetic input method, so it
can be used with almost any keyboard layout. [14年11月27日 09:20:47]
<rtcm> removing, would mean moving most of the "crazy" from evdev.xml into
evdev.extras.xml [14年11月27日 09:21:21]
<rtcm> mfabian: ideally this should be done upstream [14年11月27日 09:21:37]
<mfabian> Therefore, it makes no sense to show a keyboard layout next to a
pinyin engine (many input engines are phonetic like pinyin)
[14年11月27日 09:21:39]
<rtcm> but we could patch the fedora package as well [14年11月27日 09:21:47]
<mfabian> rtcm: Moving into evdev.extras.xml seems like a good idea.
[14年11月27日 09:22:00]
<mfabian> evdev.extras.xml is blacklisted already, if we move the Indian
keyboard layouts there, they are practically gone for "normal" users.
[14年11月27日 09:22:29]
<rtcm> mfabian: do you mind looking at that? [14年11月27日 09:23:48]
<anish_> cool [14年11月27日 09:24:18]
<mfabian> rtcm: Yes, just put it on my todo list, I’ll try to discuss with
xkeyboard-config upstream moving the Indian layouts into
evdev.extras.xml. [14年11月27日 09:24:20]
<rtcm> mfabian: cool. yes, upstream would be definitely better. and yeah, we can
start with the Indian layouts but hopefully we'd move like 50% of those
layouts out into extras [14年11月27日 09:25:30]
<mfabian> For something like pinyin or most Japanese input methods, I think it
makes sense to select not only that engine but also a keyboard layout.
[14年11月27日 09:26:03]
<mfabian> One may want to use pinyin with a US layout, one may also want to use
it with other layouts (e.g. something like the German layout where z
and y are exchanged). [14年11月27日 09:26:42]
<mfabian> To be able to understand this, the gear-wheel icon is helpful, I
think. [14年11月27日 09:27:03]
<rtcm> I mostly agree with that, I think what we've been lacking is a good UI to
do it [14年11月27日 09:27:28]
<rtcm> mfabian: btw, how does windows handle this? [14年11月27日 09:28:02]
<rtcm> if I'm not mistaken selecting the default windows Japanese IME always
uses the same keyboard layout [14年11月27日 09:28:47]
<rtcm> (i.e. just like we do) [14年11月27日 09:28:55]
<rtcm> not saying we should try to do better than windows btw ;-)
[14年11月27日 09:29:23]
<mfabian> rtcm: On my wifes windows computer (old, Windows XP) it seems to work
badly. [14年11月27日 09:29:24]
we shouldn't ! [14年11月27日 09:29:30]
<mfabian> The Japanese input method always uses the Japanese keyboard
layout. It seems to be impossible to use the Japanese input method
with the German layout. [14年11月27日 09:30:06]
<mfabian> So when switching between JA and DE, they keyboard layout always
changes, which is terrible. My wife has put lots of little stickers on
the keyboard to show the differences, is is quite annoying.
[14年11月27日 09:30:52]
<rtcm> yeah [14年11月27日 09:31:07]
<rtcm> I'll speak with aday about this issue in detail when I see him
[14年11月27日 09:31:33]
<mfabian> Another detail I noticed in the picture showing a keyboard layout:
<- at the bottom [14年11月27日 09:32:24]
<mfabian> This seems to correctly show the United Kingdom keyboard layout.
[14年11月27日 09:32:45]
<mfabian> Notice the | key between the left shift key and the Z which is missing
on the US layout. [14年11月27日 09:33:17]
<mfabian> This is quite nice! [14年11月27日 09:33:21]
<rtcm> heh, yeah, but it's just a mockup [14年11月27日 09:33:43]
<mfabian> Can that be made to work in practice? [14年11月27日 09:33:50]
<mfabian> (I believe it does not work in reality now) [14年11月27日 09:34:17]
<rtcm> I don't think so, I mean, we can just always show that key, though that
will be wrong for US layouts [14年11月27日 09:34:26]
<mfabian> But which extra keys will we show then? [14年11月27日 09:34:51]
<mfabian> The Japanese layout has an extra key on the right side, between the /
and the right shift key, for example. [14年11月27日 09:35:10]
[14年11月27日 09:35:22]
<rtcm> mfabian: depends on the keycode I think [14年11月27日 09:36:01]
<mfabian> Should we always show the maximum number of possible keys and leave
them empty or wrong for layouts with fewer keys?
[14年11月27日 09:36:20]
<rtcm> we can probably not draw them if there's no symbol for their keycode in
the keymap [14年11月27日 09:36:58]
<rtcm> that's the most we can do I believe [14年11月27日 09:37:13]
<mfabian> rtcm: That sounds like a reasonable idea, have a picture containing
the maximum number of keys and omit those which are not used in the
selected layout. [14年11月27日 09:37:56]
<mfabian> Would there be a way to warn the user that the selected layout cannot
work perfectly on his physical keyboard? [14年11月27日 09:38:39]
<mfabian> I mean, if the user has a physical US keyboard and selects English UK
layout, he will not be able to type | because that key is missing.
[14年11月27日 09:39:10]
<mfabian> I have no good idea how to do that at the moment, because it does not
seem possible to detect what physical keyboard is there.
[14年11月27日 09:39:40]
<anish_> another thing is are we going to remove setup menu of IME's from panel,
[14年11月27日 09:39:49]
<rtcm> one way to be more accurate would be to have a small wizard that asks the
user to press some keys in specific positions and then work out the
physical layout from that [14年11月27日 09:39:58]
<mfabian> And asking the user what his physical keyboard is might confuse many
users. [14年11月27日 09:40:11]
<mfabian> rtcm: If that can be made to work it would be great.
[14年11月27日 09:40:31]
<mfabian> If we know the physical keyboard, we could warn the user when
selecting a layout using keys he does not have on his physical
keyboard: “Attention, you can use this layout but you will not be
able to input the following characters then: |...”
[14年11月27日 09:41:35]
<mfabian> anish_: The setup menu for the engines should be easily accessible, I
think. [14年11月27日 09:43:04]
<rtcm> yeah possibly. still with the amount of variety we're starting to see
more and more in laptops these days, I'm not too hopeful for that tbh
[14年11月27日 09:43:24]
<rtcm> I just got an x240 recently and it has the PrtSc between the right alt
and ctrl keys... [14年11月27日 09:44:56]
<mfabian> anish_: currently, a gear-wheel icon to open the setup menu appears
when one selects an input engine in “gnome-control-center
region”. In the mockups it is not clear to me whether this is still
intended or not. [14年11月27日 09:45:11]
<anish_> mfabian, yeah that is why I asked, I thought may be set up menu's are
again moving to drop down list of IME's [14年11月27日 09:47:20]
<mfabian> The “+” button to add an input method now occupies a full row from
left to right, so the “setup” gear-wheel button seems gone.
[14年11月27日 09:48:23]
<mfabian> And where is the “-” button? Will it appear when an input source is
selected? [14年11月27日 09:48:47]
<mfabian> “Remove buttons are only shown when there is more than one input
source.” is written next to the mockup. [14年11月27日 09:49:28]
<mfabian> There are 2 input sources in the mockup but no remove button.
[14年11月27日 09:49:43]
<rtcm> mfabian: those are the kinds of things I pester aday about when
implementing :-) [14年11月27日 09:50:17]
<rtcm> it's just an overlook, I'm sure [14年11月27日 09:51:00]
<anish_> mfabian, would be good idea to move setup options from g-c-c panel to
drop down IME menus [14年11月27日 09:51:53]
<mfabian> anish_: I think yes. But that depends on the implementation of the
IME. [14年11月27日 09:52:16]
<anish_> mfabian, yeah [14年11月27日 09:52:30]
<mfabian> Not all IMEs have this in the drop down menu at the moment.
[14年11月27日 09:52:36]
<mfabian> And Allan Days guidelines advised not to have this setup in the drop
down menu from the gnome panel. [14年11月27日 09:52:59]
<mfabian> I think it is very useful to have it there though.
[14年11月27日 09:53:24]
<rtcm> mfabian: I think the idea is that the commonly accessed functions should
be menu items in the panel and thus the setup tool doesn't need to be
there [14年11月27日 09:57:13]
<mfabian> Some users didn’t find the setup tool for an engine at all when it
was available only in “gnome-control-center region” when selecting
that input engine. I feel it is nicer to have it available in both
places, it doesn’t hurt and makes it easier to discover.
[14年11月27日 09:59:00]
<rtcm> sure, I won't deny that [14年11月27日 10:01:11]
<rtcm> it's a small issue anyway and trivial to fix either way
[14年11月27日 10:01:37]
<mfabian> Yes. [14年11月27日 10:01:44]
<mfabian> I think it should of course be available in “gnome-control-center
region” and if the author of the input engine feels it should be in
the panel as well, then it is fine for the author of that input engine
to add it there too. [14年11月27日 10:02:45]
<mfabian> I have no more ideas/comments on that redesign for the moment ...
[14年11月27日 10:05:43]
<rtcm> ok, I'll take some of these points to aday later [14年11月27日 10:06:43]
<mfabian> rtcm: Thank you! [14年11月27日 10:06:53]
<anish_> thanks mfabian rtcm [14年11月27日 10:06:55]
* rtcm gets more coffee [14年11月27日 10:07:57]
<mfabian> ☕️ [14年11月27日 10:08:56]
<paragan> thanks all :) [14年11月27日 10:10:31]

Edited 8 months ago by petersen

Need to announce these change plan before actual development. This is also good candidate to execute with Fedora system wide change proposal.

Tagoh suggested to discuss same with xkb maintainer too for consensus on change.

Anish will contact Peter Huetterer about the xkeyboard-config change.

If we move the Indian layouts into /usr/share/X11/xkb/rules/base.extras.xml, they are still available to anaconda. Only gnome will not show them.

Next will talk with whot.

Juhp suggested:
1. I would also like to see improvements to anaconda layout chooser.
2. gnome-initial-setup has regressed on Input Sources selection.
3. In long term we need to come up with definite list of deprecated/obscure XKB layouts.

Anish has sent an email to whot for update.

Information regarding xkb layouts is available in /usr/share/X11/xkb/rules/evdev.xml. Parag planning to update it in xkb layout wiki.

  1. Anaconda layout chooser.
  2. gnome-initial-setup Input Sources selection.

We will try to include these in i18n test cases.

There is no blocker presently for this activity.

Changing type to task, it is pending on anish to submit patch and complete this activity.

Anish Let me know if you need any help or anything want to discuss this into meeting. :)

No update presently. Good to split this ticket into smaller task. Presently too much heavy with lots of ideas.

Quick one we are looking for is disabling XKB maps.

Hi Anish,

As discussed in last meeting. Lets split ticket by reporting specifics bugs and complete our XKB stuff. Will visit this ticket again during F24 planning.

Mike has taken over this issue and reported Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=1337393

I have moved other idea's discussed in this ticket into F25 planning ticket.
Changing topic to correct one now.

Patch for disabling XKB Indic keyboard will be available in next release of xkeyboard-config (2.19) (Around September)

Commit has been done: https://cgit.freedesktop.org/xkeyboard-config/commit/?id=913af7dafaab8ff4a9ae0d1e4c4097caf4a8022d

Available in Fedora 26 with xkeyboard-config-2.19-1.fc26 , Thank you @mfabian for patch :)

7 months ago

@pravins changed the status to Closed

Login to comment on this ticket.