Bug 1129452 - keyboard layout wrong with rusle
Summary: keyboard layout wrong with rusle
Alias: None
Product: Fedora
Classification: Fedora
Component: ibus-table
Version: 19
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Mike FABIAN
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2014-08-12 19:34 UTC by Stas Sergeev
Modified: 2014-08-13 12:25 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2014-08-13 12:25:44 UTC

Attachments (Terms of Use)

Description Stas Sergeev 2014-08-12 19:34:48 UTC
Description of problem:
In layout switching applet it is possible to
graphically view the keyboard layout.
But when I view the layout of rusle, it shows
only the English letters.

Comment 1 Mike FABIAN 2014-08-13 12:25:02 UTC
That doesn’t show the “layout of rusle” but the “keyboard layout used to type using the rusle input method” Which is the US keyboard.

The rusle.txt table contains:

### The Keyboard Layout used by this table.
### Set to "default" to accept any kind of layout

Which mean that the keyboard layout is switched automatically to "us"
as soon as you switch to rusle.

That is necessary, because the rusle depends on the us layout.

For example, it contains:

y	н	0
z	я	0

The intention is probably to get a н if you type the key to the right of the 't' key, i.e. the 6th key in the top row of a qwerty key-board.

If a German keyboard were used, that key would have a 'z' printed on it, i.e.
by typing the 6th key in the top row you would get a я, not a н.

rusle emulates a Russian legacy layout if the real layout is actually us.

The graphical display of the keyboard layout shows the real layout though, 
not the result of the input method.

Most input methods do are not just emulations of keyboard layouts.

Compare for example the Russian translit.txt:


It contains stuff like:

Shh Щ 1000

I.e. it converts Russian written in Latin transliteration
into Russian written in Cyrillic.

This can be done with any keyboard which can type all necessary
Latin characters.

Therefore, translit.txt does not enforce us layout:

### Layout
### This table can be used with any layout capable of typing ASCII.
### Therefore, we should not require a special layout like “us”.
LAYOUT = default

I.e. when switching to translit, the layout which is currently set is
just used and not changed. Most input methods are like that, only
keyboard emulations like rusle and some Chinese input methods like
cangjie or wubi require the us layout and switch to the us layout
automatically when they are selected.

The graphical keyboard display cannot know what kind of funny stuff
the input method does, in most cases it is more than just replacing
keys. So it can only display the underlying keyboard layout used to
type the *input* for the input method, it will not show the *output*
of the input method, this will be more than just another layout in
most cases.

By the way, you can toggle between table mode and direct input mode
when using rusle with the topmost menu of rusle in the Gnome3 panel.
Or with using the Left Shift key to toggle.

When you toggle to "Direct Input", the rusle translation is not done
and you get what the underlying us keyboard does.

Comment 2 Mike FABIAN 2014-08-13 12:25:44 UTC
I think there is no way this can be fixed, so I set it to CANTFIX.

Note You need to log in before you can comment on or make changes to this bug.