Bug 987222

Summary: No Norwegian keyboard layouts in ibus-setup.
Product: [Fedora] Fedora Reporter: fropeter
Component: ibusAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: fropeter, i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ibus-1.5.3-1.fc18 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-12 17:57:19 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description fropeter 2013-07-23 02:50:47 UTC
I am not absolutely certain of this being the right adressee for this report, but since it involves several independent(?) components, all integrated by Fedora, it goes here first.

Also I need assistance in verifying that this problem is a bug. As this is a fresh install, I cannot see it being a config error, if not from Fedora defaults (or upstream).

Background:
Until yesterday, I hadn't tried any other input methods than the default (listed as 'no input method' in the mate control panel), and had no problems.
I need to input japanese characters using my norwegian keyboard, so I ran ibus-setup, as the release notes instructed me to. (The ibus damon wasn't running, so I allowed it to be started).
I then set up three input methods in the imap preferences: Norwegian nb-NO, English (US) and Japanese Kana Kanji; norwegian being the default.

Description of problem:
Later, in Mate terminal, I typed a command using sudo with the language set to norwegian. When asked for the password, ibus displayed every character I typed in cleartext, along with a list of suggestions.

If someone else had looked at the screen, they would have known at least part of that password.

Another thing: this implies that ibus collects what you type, including passwords; hence there might be a possible attack point. The collected data might manually be deleted through the input method's preferences, but seemingly are stored until such action is taken.

English seems to work fine, as does japanese if set to direct input.


Version-Release number of selected component (if applicable):
Lenovo R500 laptop, norwegian keyboard
This F19 installation is just about two weeks old (triple boot Win7,F17,F19)

- Fedora 19 x86_64, updated as of 2013-07-23 00:50 GMT
- Mate desktop 1.6.1-8.fc19
    (Also installed: Gnome, Gnome classic, Cinnamon, if relevant)
- ibus 1.5.2-7.fc19
- ibus-kkc 1.5.14-1.fc19
- ibus-m17n 1.3.4-10.fc19 (not sure if this is in use)
- ibus-typing-booster 1.2.1-1.fc19
- gnome-terminal 3.8.4-1.fc19 (tested, same behaviour as mate-terminal)
- dconf 0.16.0-2.fc19
- imsettings-gsettings 1.6.3-1.fc19
- sudo 1.8.6p7-1.fc19


How reproducible:


Steps to Reproduce:
1. activate ibus
2. set up input method to include Norwegian nb-NO (_NOT_ the dead keys option)
3. set active input method to same
4. start mate or gnome terminal (same result in either)
5. enter 'sudo ls'
6. enter password (it will be displayed, so use random characters)

Actual results:
Password is displayed in step 6


Expected results:
Nothing is displayed while entering password


Additional info:
Further testing:
- Setting input nethod to 'no input method' in mate control panel removes the problem. This is no solution in real life, since it involves logging out and in again every time it is changed.
- No settings found in dconf or through the control panel that stops the type ahead suggestions. This is a feature that I would want _ONLY_ when typing japanese text; not in english nor in norwegian.
- Logging out and in by itself does not solve the problem.
- Rebooting does not solve the problem
Other DE's are not tested yet.

Please advise as how to test and verify the problem.

Comment 1 fujiwara 2013-07-25 02:00:21 UTC
Probably I think you wish to use no keyboard layout with ibus.
Your "Norwegian nb-NO" might be chosen from ibus-m17n or ibus-typing-booster and they are input methods.
Now ibus provides the keyboard layouts and input methods.

Regarding to the preeedit text on the terminal applications, need to fix each application and think the better solution but there is no easy way at present.

However currently ibus does not provide "no" keyboard layout and it's easy to be added.

You could disable ibus and check the current layout with setxkbmap command:
% setxkbmap -query
layout:     no

Could you insert the following lines in /usr/share/ibus/component/simple.xml by manual and restart ibus-daemon?

# vi /usr/share/ibus/component/simple.xml

               <engine>
                       <name>xkb:no:nodeadkeys:nor</name>
                       <language>nor</language>
                       <license>GPL</license>
                       <author>Peng Huang &lt;shawn.p.huang&gt;</author>
                       <layout>no</layout>
                       <layout_variant>nodeadkeys</layout_variant>
                       <longname>Norwegian (eliminate dead keys)</longname>
                       <description>Norwegian (eliminate dead keys)</description>
                        <icon>ibus-keyboard</icon>
                       <rank>99</rank>
               </engine>


And ibus-setup will show the "Norwegian (eliminate dead keys)" keymap.
I'm not sure if the nodeadkeys variant is often used.

Comment 2 fropeter 2013-07-25 21:08:22 UTC
(In reply to fujiwara from comment #1)

> Probably I think you wish to use no keyboard layout with ibus.

Do you mean the layout named 'no' or 'do not use a keyboard layout with ibus', i.e. ibus is inactive? 

Ideally I would like the keyboard layout to represent the physical keyboard on the computer I'm using, with no regard to language. Then the ibus hotkey selections (preferably for the current window) could be 'Japanese' and 'direct input', and direct input to be the keyboard layout that I selected in the mate settings.

> Your "Norwegian nb-NO" might be chosen from ibus-m17n or ibus-typing-booster
> and they are input methods.
> Now ibus provides the keyboard layouts and input methods.

I'm not sure I understand exactly what the input method adds in the case of using a localized keyboard with a the writing system it is designed for. It makes sense to me when the the letters on the keyboard do not match what is to be produced, e.g. Japanese text/latin keyboard. Is this just a matter of a missing configuration in the case of my language?

> Could you insert the following lines in /usr/share/ibus/component/simple.xml
> by manual and restart ibus-daemon?
> And ibus-setup will show the "Norwegian (eliminate dead keys)" keymap.

This worked, although the eliminate dead keys part doesn't. I want the dead keys, so I'm fine with that, but if this is going into a proper fix, then it probably should be corrected. And then I would need a section without the 'eliminate dead keys' part. :)

> I'm not sure if the nodeadkeys variant is often used.
I don't know, but I think foreign language use is high, so I think the other option is more important. I think a lot of users don't know what they are, so they avoid selecting the nodeadkeys option.

Thanks for the workaround.

PS
> You could disable ibus and check the current layout with setxkbmap command:
> % setxkbmap -query
> layout:     no
I'll paste the output of this in another comment.

Comment 3 fropeter 2013-07-25 21:19:25 UTC
# setxkbmap -query
rules:      evdev
model:      thinkpad60
layout:     no,us
variant:    ,
options:    terminate:ctrl_alt_bksp
#

Comment 4 fujiwara 2013-07-26 01:28:43 UTC
(In reply to fropeter from comment #2)
> (In reply to fujiwara from comment #1)
> 
> > Probably I think you wish to use no keyboard layout with ibus.
> 
> Do you mean the layout named 'no' or 'do not use a keyboard layout with
> ibus', i.e. ibus is inactive? 

I meant Norwegian keyboard layout. I forgot to quote "no".

> Ideally I would like the keyboard layout to represent the physical keyboard
> on the computer I'm using, with no regard to language. Then the ibus hotkey
> selections (preferably for the current window) could be 'Japanese' and
> 'direct input', and direct input to be the keyboard layout that I selected
> in the mate settings.

You can configure the "no" layout in ibus-setup as 'direct input'.
Now ibus puts the keyboard engines and input method engines within the ibus icon menu in panel and the same shortcut keys to switch the engines.
So you can switch "no", "us" and Japanese input method with Super+space.

If you wish to use XKB group layouts and XKB option keys instead of ibus short cut keys, basically I don't suppose that usage but ibus-setup provides the option "Use system layout" in "Advanced" tab and ibus-setup-kkc provides another shortcut key to enable/disable input method.

> > Your "Norwegian nb-NO" might be chosen from ibus-m17n or ibus-typing-booster
> > and they are input methods.
> > Now ibus provides the keyboard layouts and input methods.
> 
> I'm not sure I understand exactly what the input method adds in the case of
> using a localized keyboard with a the writing system it is designed for. It
> makes sense to me when the the letters on the keyboard do not match what is
> to be produced, e.g. Japanese text/latin keyboard. Is this just a matter of
> a missing configuration in the case of my language?

Now ibus supposes to configure your physical layout as a keyboard layout engine.
Fedora ibus provides "Customize active input methods" in ibus-setup.
If the option is disabled, ibus-daemon will load the session XKB as keyboard layout engines automatically.

> This worked, although the eliminate dead keys part doesn't. I want the dead
> keys, so I'm fine with that, but if this is going into a proper fix, then it
> probably should be corrected. And then I would need a section without the
> 'eliminate dead keys' part. :)

OK, I asked it because you noted "_NOT_ the dead keys" below.

(In reply to fropeter from comment #0)
> 2. set up input method to include Norwegian nb-NO (_NOT_ the dead keys

Now I integrated the "no" layout engines without "nodeadkeys":

https://github.com/ibus/ibus/commit/bc2d0010ed29cb85e5507f2d91488bf1afab102c

Comment 5 fujiwara 2013-07-26 01:41:57 UTC
The preedit on terminal issue is not new so changed the severity.
I will fix this issue adding "no" layouts.
The preedit issue is already filed in bug 803646.

Comment 6 fropeter 2013-07-26 07:40:36 UTC
(In reply to fujiwara from comment #4)

> Now I integrated the "no" layout engines without "nodeadkeys":
> https://github.com/ibus/ibus/commit/bc2d0010ed29cb85e5507f2d91488bf1afab102c

Thank you for fixing this! It works fine now.

Comment 7 Fedora Update System 2013-07-29 03:09:34 UTC
ibus-1.5.3-1.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/FEDORA-2013-13720/ibus-1.5.3-1.fc19

Comment 8 Fedora Update System 2013-07-29 03:10:38 UTC
ibus-1.5.3-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/FEDORA-2013-13700/ibus-1.5.3-1.fc18

Comment 9 Fedora Update System 2013-08-12 17:57:19 UTC
ibus-1.5.3-1.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2013-08-12 17:57:38 UTC
ibus-1.5.3-1.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.