Bug 760213

Summary: iBus does not honor layout options (e.g. cz(qwerty))
Product: [Fedora] Fedora Reporter: Jan "Yenya" Kasprzak <kas>
Component: ibusAssignee: fujiwara <tfujiwar>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16CC: i18n-bugs, shawn.p.huang, tfujiwar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: ibus-1.4.0-17.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1074879 (view as bug list) Environment:
Last Closed: 2012-01-11 06:14:13 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
Patch for xkbsetup.py none

Description Jan "Yenya" Kasprzak 2011-12-05 16:23:44 UTC
Description of problem:
I want to use two keyboard layouts: English/US, and Czech(qwerty).

When I set up iBus to use these two layouts, it apparently does not honor the "(qwerty)" option of the cz layout, and uses the default of "qwertz", which is pretty annoying when I frequently switch betwen US and CZ layouts.

Version-Release number of selected component (if applicable):
ibus-1.4.0-11.fc16.x86_64
ibus-gtk2-1.4.0-11.fc16.x86_64
ibus-libs-1.4.0-11.fc16.x86_64
ibus-gtk3-1.4.0-11.fc16.x86_64
ibus-anthy-1.2.6-3.fc16.x86_64

How reproducible:
100 %

Steps to Reproduce:
1. Run an XFCE4 session
2. Choose "Use iBus (recommended)" in (main menu)->Settings->Input Method Selector, then click on the "Preferences..." next to iBus.
3. In ibus-setup window, switch to the Advanced tab, enable "Use system keyboard layout" checkbox, and then click to the button near the "System Keyboard Layout:" label.
4. In the "Keyboard layout" pop-up, add English(US) as a primary layout, "Czech(qwerty) as a secondary layout, and in the "Options..." pop-up, enable the "Key(s) to change layout" -> "Both shift keys together" checkbox.
5. Restart iBus, e.g. from the panel applet menu.
6. Open the Terminal, press both shift keys, and press the topmost letter keys (labeled, q,w,e,r,t,y on the En/US keyboard).
7. press both shift keys again to get back to the English layout, and run "setxkbmap -print"
  
Actual results:
6. Letters q,w,e,r,t,z are displayed (note the "z" instead of "y")
7. $ setxkbmap -print
xkb_keymap {
	xkb_keycodes  { include "evdev+aliases(qwerty)"	};
	xkb_types     { include "complete"	};
	xkb_compat    { include "complete+ledscroll(group_lock)"	};
	xkb_symbols   { include "pc+us+cz:2+inet(evdev)+group(shifts_toggle)"	};
	xkb_geometry  { include "pc(pc104)"	};
};

Expected results:
6. Letters q,w,e,r,t,y should be displayed for cz(qwerty) layout
7. the "xkb_symbols" line in "setxkbmap -print" should be as follows:
	xkb_symbols   { include "pc+us+cz(qwerty):2+inet(evdev)+group(shifts_toggle)+group(shifts_toggle)"	};


Additional info:
I want to use iBus because I occasionally need also Japanese input (with Anthy engine).

I don't think it is XFCE4 specific, but I currently don't have GNOME3 installed in order to verify this.

Using plain setxkbmap, the following is the set up I want iBus to use:

setxkbmap 'us,cz(qwerty)' -option \
  grp_mode:switch,grp:shift_toggle,grp_led:scroll

Comment 1 fujiwara 2011-12-08 09:17:36 UTC
(In reply to comment #0)
I understood the problem and will fix this bug.

However I'd recommend to set the system keymaps out of ibus because the ibus setup is a workaround if the desktop does not provide to configure the session keymaps.

e.g. /etc/xdg/lxsession/LXDE/autostart could call setxkbmap .

Comment 2 fujiwara 2011-12-30 08:48:43 UTC
Created attachment 550039 [details]
Patch for xkbsetup.py

Comment 3 Fedora Update System 2011-12-30 09:04:46 UTC
ibus-1.4.0-15.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/ibus-1.4.0-15.fc16

Comment 4 Fedora Update System 2011-12-30 22:55:18 UTC
Package ibus-1.4.0-16.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ibus-1.4.0-16.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2011-17574/ibus-1.4.0-16.fc16
then log in and leave karma (feedback).

Comment 5 Fedora Update System 2012-01-05 20:56:25 UTC
Package ibus-1.4.0-17.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing ibus-1.4.0-17.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2011-17574/ibus-1.4.0-17.fc16
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2012-01-11 06:14:13 UTC
ibus-1.4.0-17.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.