Support input methods beside ibus
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Nux |
Fix Released
|
High
|
Brandon Schaefer | ||
2.0 |
Fix Committed
|
High
|
Brandon Schaefer | ||
Unity |
Fix Released
|
High
|
Brandon Schaefer | ||
5.0 |
Fix Committed
|
High
|
Brandon Schaefer | ||
nux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
unity (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
[Impact]
The main bug that's related to 'fixing' this issue is LP: #1043627. See that bug for the most up-to-date discussion.
As 12.04 is an LTS, many users decide to stay with that version until the next LTS version is available. Many of those users require different input methods to comfortably input characters in their language. We do support IBus for some of the languages, but others are still using XIM as the input framework. Those users cannot input in their language using their standard input methods. This means using the Dash and HUD is much more troublesome or even impossible in normal cases.
We think that even though it is essentially a new feature, it can be thought that the lack of support for non-IBus additional input methods is a bug in a way.
It is a big change, but with proper testing, we would ensure that the addition does not introduce any new regressions.
Also, the change is needed by OEM. It is a big change, but it's crucial for CJK - Kyrlin has voiced the proposition to use fctix as the default input method, which _needs_ XIM support in Nux and Unity.
[Test Case]
1. Install fctix-pinyin
2. Run im-config and enable fctix as the default IM
3. Reboot your machine
4. Open the dash and input non-latin characters using fctix
-> Non latin characters (Chinese in this case) should appear on screen.
[Regression Potential]
In an impossible scenariu, broken IBus input or input in overall in Nux input fields.
The good thing about the XIM support is that it's rather isolated, so potential breakage of the XIM code won't impact normal Nux workflow. Just XIM input might not work.
[Other Info]
The same functionality is already available in the newer Unity releases.
Original description:
As you might want to solve some problem, just because of silly unity developer don't know how to fix your silly input method bug on input method, but you guys breaks input method for so much user. In spite of ibus, there are several input method are widely used in the world, fcitx, gcin, hime, uim.
As unity developers might not know, the install input method is so hard for normal users, but they are still trying to change the default one, in order to meet theirs need.
And there are even more input method are coming for different scenario, for example Maliit for on-screen keyboard.
This is totally going backwards from Ubuntu 11.10.
So, if you want to throw all other input method away, ok, we will throw ubuntu away. Not to mention silly im-switch and im-config are still not working well.
Related bug report:
HIME: https:/
Related branches
- Brandon Schaefer (community): Approve
- Francis Ginther: Abstain
- Tim Penhey (community): Abstain
- Jay Taoko: Pending requested
-
Diff: 248 lines (+155/-1)3 files modifiedNux/TextEntry.cpp (+2/-0)
NuxGraphics/GraphicsDisplayX11.cpp (+138/-1)
NuxGraphics/GraphicsDisplayX11.h (+15/-0)
- Brandon Schaefer (community): Needs Fixing
-
Diff: 2061 lines (+1609/-121) (has conflicts)15 files modifiedNux/InputMethod.cpp (+84/-0)
Nux/InputMethod.h (+127/-0)
Nux/InputMethodFcitx.cpp (+309/-0)
Nux/InputMethodFcitx.h (+83/-0)
Nux/InputMethodIBus.cpp (+97/-50)
Nux/InputMethodIBus.h (+8/-62)
Nux/InputMethodXim.cpp (+202/-0)
Nux/InputMethodXim.h (+69/-0)
Nux/Makefile.am (+19/-2)
Nux/TextEntry.cpp (+5/-5)
Nux/TextEntry.h (+6/-2)
Nux/XimClientData.cpp (+524/-0)
Nux/XimClientData.h (+64/-0)
NuxGraphics/GraphicsDisplayX11.h (+1/-0)
configure.ac (+11/-0)
- Andrea Azzarone (community): Approve
- PS Jenkins bot: Pending (continuous-integration) requested
- Łukasz Zemczak: Pending requested
- Jay Taoko: Pending requested
-
Diff: 1357 lines (+1051/-12)16 files modifiedNux/TextEntry.cpp (+2/-0)
NuxGraphics/GraphicsDisplayX11.cpp (+45/-2)
NuxGraphics/GraphicsDisplayX11.h (+7/-1)
NuxGraphics/Makefile.am (+7/-4)
NuxGraphics/XICClient.cpp (+112/-0)
NuxGraphics/XICClient.h (+60/-0)
NuxGraphics/XIMController.cpp (+146/-0)
NuxGraphics/XIMController.h (+62/-0)
NuxGraphics/XInputWindow.cpp (+4/-1)
NuxGraphics/XInputWindow.h (+1/-0)
examples/Makefile.am (+1/-1)
tests/Makefile.am (+11/-2)
tests/nux_automated_test_framework.cpp (+89/-1)
tests/nux_automated_test_framework.h (+2/-0)
tests/xim-test-commands.txt (+52/-0)
tests/xtest-text-entry-xim.cpp (+450/-0)
- Andrea Azzarone (community): Approve
-
Diff: 733 lines (+494/-19)11 files modifiedNux/TextEntry.cpp (+2/-0)
NuxGraphics/Events.cpp (+5/-4)
NuxGraphics/Events.h (+5/-1)
NuxGraphics/GraphicsDisplayX11.cpp (+87/-9)
NuxGraphics/GraphicsDisplayX11.h (+4/-1)
NuxGraphics/Makefile.am (+7/-3)
NuxGraphics/XICClient.cpp (+112/-0)
NuxGraphics/XICClient.h (+60/-0)
NuxGraphics/XIMController.cpp (+146/-0)
NuxGraphics/XIMController.h (+62/-0)
NuxGraphics/XInputWindow.cpp (+4/-1)
- Andrea Azzarone (community): Approve
-
Diff: 163 lines (+45/-12)6 files modifiedplugins/unityshell/src/DashController.cpp (+17/-3)
plugins/unityshell/src/DashController.h (+3/-0)
plugins/unityshell/src/HudController.cpp (+12/-3)
plugins/unityshell/src/HudController.h (+2/-0)
plugins/unityshell/src/unity-util-accessible.cpp (+2/-2)
plugins/unityshell/src/unityshell.cpp (+9/-4)
affects: | unity → nux |
Changed in nux: | |
assignee: | nobody → Dororo Chen (dororofish) |
assignee: | Dororo Chen (dororofish) → nobody |
Changed in nux: | |
status: | New → Confirmed |
Changed in unity: | |
status: | New → Confirmed |
Changed in nux (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in nux: | |
status: | Confirmed → In Progress |
summary: |
- Unity use ibus explicitly, make it impossible to use other input method + Support input methods beside ibus |
Changed in nux: | |
status: | In Progress → Invalid |
Changed in nux: | |
status: | Invalid → In Progress |
Changed in nux: | |
status: | In Progress → Fix Committed |
Changed in nux: | |
milestone: | none → 4.0 |
description: | updated |
Changed in unity: | |
status: | Confirmed → Fix Committed |
assignee: | nobody → Brandon Schaefer (brandontschaefer) |
Changed in nux: | |
assignee: | nobody → Brandon Schaefer (brandontschaefer) |
Changed in unity: | |
milestone: | none → 7.0.0 |
Changed in nux: | |
importance: | Undecided → High |
Changed in unity: | |
importance: | Medium → High |
description: | updated |
Changed in unity (Ubuntu): | |
status: | New → Fix Released |
Despite the wording is tempered, I strongly support the opinion on bad input method support in Unity stack, and this report emerges because Nux depends on ibus with brute force so moved this report here.
To be frank, IME support in 12.04 LTS is nearly broken from a user's point of view, and is totally broken from an IME developer's point of view.
I have subscribed several parties, including Nux Team, CJK tester team, IME packaging team, and pitti, sabdfl. I know some of the individuals may or may not be able to deal with the case himself, but I sincerely wish this will bring the issue to your attention, that is Unity, and Ubuntu, is on the way of losing quite a few users, some action must be taken.