HUD is using Korean/Chinese input method's shortcut key

Bug #940927 reported by Jinkyu Yi on 2012-02-25
66
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Unity
Invalid
Undecided
Unassigned
unity (Ubuntu)
Undecided
Unassigned

Bug Description

At HUD is open when press right-alt key.
But this key is already used at Korean input method for make it active at most laptop.
HUD's this property is really critical bug to Koreans.
Please consider changing it's shortcut key.

Jinkyu Yi (jincreator) on 2012-02-25
description: updated
Bilal Akhtar (bilalakhtar) wrote :

You mean to say that the alt key is used to switch keyboard layouts? Or is it also used to type in a Korean character?

Jinkyu Yi (jincreator) wrote :

Bilal,

No, we don't need to change keyboard layout after installing Ubuntu.
It is used to activate input method(ibus, nabi, ...).
Because Koreans need to type Korean characters(called Hangeul) and English characters both, we need to toggle input method activate/deactivate.
When input method is activated, Korean letters can typed.

It doesn't used while typing Korean characters.
But it is really important key to Korean PC users.

Tim Penhey (thumper) wrote :

I thought that Ctrl+space was the default ibus keybinding.

Jinkyu Yi (jincreator) wrote :

Tim,

True, but Hangul key(Alt key at right) is also default ibus keybinding.
Default ibus keybinding is not only one, it's list(Control+Space; Zenkaku_Hankaku; Alt+Kanji; Alt+grave; Hangul; Alt+Release+Alt_R).

Today Koreans don't use Ctrl+space anymore in Korean 101/104 keyboard layout.

I think there's 2 solutions to solve it.
First, use other key(Control, Shift, ...) instead of Alt.
Second, patch Compiz and use only Alt key at left for HUD.

Jinkyu Yi (jincreator) wrote :

Seems this bug is happened by problem of xkeyboard-config but I'm not sure.
Altough xev show right Alt key is "Hangul", Unity(compiz?) still work with it.
But it works correctly in other keyboard layout that doesn't contain right Alt key.

CheolHan Yoon (mait) wrote :

Totally agree to Jinkyu Yi.

Very annoying key confliction for Korean. Almost all Korean use Hangul(Alt_R) key as toggle input method. Ibus default key has Hangul key.

xev show 'Hangul' for Hangul button key code. It's definitely not 'Alt' key when using 'Korean (101/104 key compatible)' layout.

Keng-Yu Lin (lexical) wrote :

This affects ibus in traditional Chinese environment too.

Alt_R triggers both HUD and the input method switch.

Changing the HUD hotkey in CCSM can work around this.

I agree that it is good if HUD uses only the left alt as the hotkey.

Changed in unity:
status: New → Confirmed
summary: - HUD is using Korean input method's shortcut key
+ HUD is using Korean/Chinese input method's shortcut key
Aron Xu (happyaron) wrote :

Hi,

With my IME Packaging Team's hat on, using any simple key combination from two (and some of three) of ctrl, alt shift and space is risky for input methods, as they are widely used for different actions.

In IBus, for instance:
ctrl+space - activating/deactivating the framework
ctrl+shift - switching among the input method engines, left for normal order, right for reverse order
left shift - switch between target language and English
right shift - reverse mapping queries
ctrl+, - single character mode
ctrl+. - switch between English punctuation and target language punctuation
ctrl+/ - direct submit mode
ctrl+’ - input statistics
... and more

And for Fcitx, the one we probably push to default in coming years, have an even larger set of keyboard shortcuts, and have the flexibility of setting customized keyboard shortcuts very easily (think about setting shortcuts in gnome-terminal).

In conclusion, shortcut should be a design task, and should be carefully to avoid conflicts. Actually HUD's shortcut has kept many CJK users away from Unity. They have chosen either GS or the classic mode, which has better support for various input methods (shortcuts, D-Bus based UI, and other compatibility problems).

Eric Miao (eric.y.miao) wrote :

I did a test with latest precise, seems only left ALT is effective, right ALT doesn't trigger HUD. Any one has the same result?

MinSik CHO (mscho527) wrote :

@Eric Miao

Did you test it with virtual machine or real machine...? I myself haven't yet checked how HUD behaves in latest live builds, but if you tested using virtual machine, chances are that it wouldn't respond in a same way if Ubuntu got the keyboard input.

If Ubuntu is released with HUD like it showed in the beta build, all those Asian users must migrate to Xubuntu, Kubuntu, Lubuntu, or remove Unity and use GNOME. As a fan of Unity, I would really appreciate if the Design Team reconsiders the configuration, and only allow left ALT key to work as HUD shortcut. If users of European language feel more convenience when allowing right ALT to also work as HUD key, a configuration menu at the settings menu - I think - would do the job.

Seunghoon Park (pclove1) wrote :

I've upgraded from 11.10 to 12.04 today.

Whenever I press 'hangul' key, which is technically right ALT key but most Korean use this to toggle input method between Korean and English, the HUD pops up.
This is really annoying.

I know that someone previously pointed out that there is another toggle key combination like 'CTRL + SPACE'.
But, again, I'm definitely sure that most Korean use the right ALT key as toggle key.

I think the HUD should pop up only when I press the left ALT key.

Eric Miao (eric.y.miao) wrote :

Hmm... I think mine was special cuz it's a Mac, which has a different keyboard layout, the right ALT on this keyboard isn't necessarily the equivalent on PC. And I can confirm that right ALT is annoyingly triggering HUD on my laptop.

Ray Wang (raywang) wrote :

Use Alt_R could active HUD.

But from my experience, only hit ALT keys quickly could active HUD ( a press), it will not hurt input methods switching because you mostly do it by press down the [alt] + hotkey.

Correct me if I'm wrong :)

Korean people use Alt + <none> as a shortcut, and there are Chinese
people using Alt directly as there preference AFAIK.

Rex Tsai (chihchun) wrote :

In current code base, it uses Alt[1] to active HUD. But it actually uses Alt_L on my machine.

You can show your settings with this command -
gconftool-2 -g /apps/compiz-1/plugins/unityshell/screen0/options/show_hud

[1] http://bazaar.launchpad.net/~unity-team/unity/trunk/view/head:/plugins/unityshell/unityshell.xml.in#L47

Changwoo Ryu (cwryu) wrote :

First, there's no point discussing here whether using right Alt as Korean toggle key is good or not. Lots of manufacturers have made hardwares like that so nobody can't change that.

So, I am actually the one who wrote the Korean keyboards XKB definition. In this case keycode is same as Alt(108) but keysym is "Hangul". It SHOULD work. I think the problem is that compiz handles shortcuts based on X keycodes, not ksysyms. After searching for a while, I'm almost certain that this line of code is the problem.

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/unity/raring/view/head:/launcher/LauncherController.cpp#L1162

Some keyboards with "level3" key on the right Alt seem to avoid this problem by overriding its modifier map because level3 key is a modifier key. like this:

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/raring/xkeyboard-config/raring/view/head:/symbols/level3#L13

But Korean toggle key can't be defined like this because it's not a modifier key.

So the solution is, to fix the compiz code so it use Keysym instead of Keycode. But it requires some study of the code and might trigger some side effects. I'm giving up here. :P Any workaround idea is welcome to fix this by modifying the Korean XKB definition. But I'm not sure there's one.

Keechang Kim (keechang) wrote :

I am so used to having right_Alt key to toggle between Korean and English, I do not want to change it. Instead, I changed the trigger key for HUD into something else.

Go to "Dash" System Settings > Keyboard > Shortcuts > Launchers > Key to show HUD. There, you can change the HUD trigger key to whatever you like.

Changwoo Ryu (cwryu) wrote :

Please note that "change your own settings" is not a solution of bugs, in the sense of providing reasonable defaults.

Kurt Hong (kurthong) wrote :

I think Hangul/Hanja key is the same as Num Lock or Caps Lock practically. So, it should level 1 key.

My xkeyboard configuration is like shown below...

partial hidden function_keys
xkb_symbols "koreankeys_raltctl" {
    key <RALT> {
      type[Group1]="ONE_LEVEL",
      symbols[Group1] = [ Hangul ]
    };
    //key <RALT> { [ Hangul ] };
    key <RCTL> {
      type[Group1]="ONE_LEVEL",
      symbols[Group1] = [ Hangul_Hanja ]
    };
    //key <RCTL> { [ Hangul_Hanja ] };
};

I hope this bug or conflicition fixes ASAP as all Koreans encounters the same issue whenever they have new installation of linux.

Kurt Hong (kurthong) wrote :

Sorry...rephrased.

I think Hangul/Hanja key is the same as Num Lock or Caps Lock practically. So, it should be level 1 key.

My xkeyboard configuration is like shown below...

partial hidden function_keys
xkb_symbols "koreankeys_raltctl" {
    key <RALT> {
      type[Group1]="ONE_LEVEL",
      symbols[Group1] = [ Hangul ]
    };
    //key <RALT> { [ Hangul ] };
    key <RCTL> {
      type[Group1]="ONE_LEVEL",
      symbols[Group1] = [ Hangul_Hanja ]
    };
    //key <RCTL> { [ Hangul_Hanja ] };
};

I hope this bug or conflicition gets fixed ASAP as all Korean 101/104 keyboard users encounter the same issue whenever they have new installation of linux.

Changed in unity (Ubuntu):
status: New → Confirmed
Alex Baggott (alex-baggott) wrote :

Thank you for taking the time to report this bug. We have tried to recreate this on the latest release of Ubuntu and cannot reproduce it. This bug is being marked as Invalid. If you believe the problem to still exist in the latest version of Ubuntu, please comment on why that is the case and change the bug status to NEW.

Changed in unity:
status: Confirmed → Invalid
Changed in unity (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers