GNOME Bugzilla – Bug 729419
Allow input of Hangul and Modifier+space shortcuts
Last modified: 2014-08-10 06:20:37 UTC
Hangul and Shift+Space are conventional key combinations for Korean keyboard toggle(bug 693395). But mutter doesn't accept them as input-source-switch. Mutter prevents them explicitly but the prevention code is for cycle-windows shortcuts(bug 329676).
Created attachment 275689 [details] [review] Allow Hangul and Shift+Space shortcuts
Review of attachment 275689 [details] [review]: ::: src/core/prefs.c @@ +1931,3 @@ 0 != keysym && + ((META_VIRTUAL_SHIFT_MASK == mods && GDK_KEY_space != keysym) || + (0 == mods && GDK_KEY_Hangul != keysym))) No. These restrictions exist for a reason, not to take away your favorite shortcuts: (1) for every reversable shortcut, an implicit second shortcut with an additional <shift> modifier is added, which reverses the direction (e.g. <alt>tab and <shift><alt>tab). As mentioned in bug 732296, I'd be fine with making the reversing optional and removing the restriction altogether, but special-casing one particular shortcut is not acceptable. (2) the popup we show for switcher shortcuts is shown until the primary modifier is released, so that you can cycle through all elements rather than just selecting the next one. This obviously won't work if the shortcut does not have any modifiers. Again, I'd be fine with a patch that lifts the restriction, for instance by using a timeout to allow the shortcut to be pressed again before hiding the popup (see also bug 705434), but not with special-casing just one particular shortcut.
I know why such restriction exists. But to use the input source switch for Korean keyboard, this restriction conflicts with the Korean keyboard standard and the convention which have been used for decades. In Hangul toggle situation, users just toggle between Korean and Latin and don't need reverse-cycle feature or any popups. So this workaround is enough for making it work as users expect. Maybe the best solution is to toggle Hangul in one input source. https://fedorahosted.org/i18n/ticket/26 But it requires some time to fix ibus.
(In reply to comment #2) > Review of attachment 275689 [details] [review]: > > ::: src/core/prefs.c > @@ +1931,3 @@ > 0 != keysym && > + ((META_VIRTUAL_SHIFT_MASK == mods && GDK_KEY_space != keysym) || > + (0 == mods && GDK_KEY_Hangul != keysym))) > > No. These restrictions exist for a reason, not to take away your favorite > shortcuts: > > (1) for every reversable shortcut, an implicit second shortcut with an > additional <shift> > modifier is added, which reverses the direction (e.g. <alt>tab and > <shift><alt>tab). > As mentioned in bug 732296, I'd be fine with making the reversing optional > and removing > the restriction altogether, but special-casing one particular shortcut is > not acceptable. Right, I was going to comment here along these lines after the patches in bug 732296 land.
I think it's time to stop attempts to modify GNOME's input-source-switch for using it as Hangul toggle. Like ibus-anthy and ibus-skk, ibus-hangul will handle Hangul toggle by itself. Now the git version of ibus-hangul does it and works great.