IBus Bridge HotKeys

I added a new feature of a bridge hotkey in Fedora 15 and rawhide. You need IBus 1.3.99.20110419-7 or later for this feature.

# yum install --enablerepo=updates-testing ibus ibus-gnome3
# rpm -q ibus
ibus-1.3.99.20110419-7.fc15

If you focus on a text application, the default keyboard layout (en) is enabled below.
Enabled the default keyboard layout
And if you type Control + Space key, IBus switches the IBus engines from the default keyboard layout (en) to the first input method (anthy) below.
Switch a keyboard layout to an input method with Control + Space key.
So you can toggle the default keyboard layout (en) and the input method (anthy) with Control + Space key. If you also choose another layout (jp), now Control + Space changes to toggle the layout (jp) and the input method (anthy) instead of the default layout (en) and the input method.
Choose another keyboard layout with bridge hotkeys
Then we will change the definition of Control + Space with this change. Previously we use Control + Space to toggle IM on and off. Now we use Control + Space to toggle the previous engine and next engine.
This way can show input methods and keyboard layouts in the same list on IBus icon status menu.
The hotkeys is defined in /usr/share/ibus/component/*.xml for each engnine. The following is the example of anthy and defines ‘Control + Space’ and ‘Zenkaku_Hankaku’ as hotkeys.

% cat /usr/share/ibus/component/anthy.xml
<?xml version="1.0" encoding="utf-8"?>
<component>
	<name>org.freedesktop.IBus.Anthy</name>
	<description>Anthy Component</description>
        ... snip
	<engines>
		<engine>
			<name>anthy</name>
			<language>ja</language>
			<icon>/usr/share/ibus-anthy/icons/ibus-anthy.png</icon>
			<layout>jp</layout>
			<longname>Anthy</longname>
			<description>Anthy Input Method</description>
			<icon_symbol>あ</icon_symbol>
			<hotkeys>Control+space,Zenkaku_Hankaku</hotkeys>
		</engine>
	</engines>
</component>

The latest IBus also a menu item of “Keyboard Configuration” on IBus icon status menu, which can launch ‘gnome-control-center region’ for GNOME 3.
Currently I’m thinking a numbering for duplicated languages between keyboard layouts and input methods so that users recognize the different layouts.
BTW, In the previous thread, I introduced the icon symbol feature for IBus text icon but there is one update from that. We removed one API of ibus.EngineBase.set_icon_symbol(). We will use an special key name in IBusProperty for the input mode symbol instead.

Advertisements

About fujiwara

I'm an open-sourced desktop i18n developer.
This entry was posted in IBus and tagged , , . Bookmark the permalink.

9 Responses to IBus Bridge HotKeys

  1. bochecha says:

    That looks pretty nice.

    However, I’m wondering. On some of your screenshots I can see two status icons, one for the keyboard layout and one for the input method.

    But I guess for most people what really matters is the language in which they type, which would include both a keyboard layout and an input method.

    So my question is, couldn’t those two be merged?

    I could definitely see myself switching to « type in Chinese now » and that would select the default keyboard layout for Chinese (probably the US qwerty?) along with the default input method (probably pinyin?), and be done with it.

    Then of course if I’d want to use candgie instead of pinyin I would just go to the « Region and Language » panel in the control center and change « When I want to type Chinese, I want to use the XXX keyboard layout and the YYY input method »

    What do you think?

    Perhaps it’s already the plan, or perhaps the Gnome designers have an even better idea? 🙂

    In any case, keep up the good work. I don’t use input method myself (yet, but I’m learning Chinese so I will probably at some point), but I’m sure this is incredibly important for all those users in the world who don’t have an alphabet that maps on the keyboard.

    • fujiwara says:

      Sorry, I didn’t notice the comment.

      > So my question is, couldn’t those two be merged?
      Hmm.., this is a bit different situation from yours. Yeah, I know most Chinese users use US keyboard layout and the previous Control + Space switches IM off and on. This feature re-define the Control + Space to switch the prev engine and next engine and there is no longer IM off state. In your case, I would think the GUI would not have much differences between the previous Control + Space and the new one. It just changes “Pinyin and Turn off input method” to “Pinyin and US keyboard”.
      We’d think the new feature will give benefits for European keyboards. European people will switches keyboards rather than input methods and this aim to put input methods and keyboard layouts in the same menu on IBus status icon.
      Another merit is easy to change the layout of the input method. E.g. if you switch Pinyin and US keyboard with this feature, the Pinyin has the US keyboard layout by default. If you switch Pinyin and UK keyboard, the Pinyin has UK keyboard layout by default and probably we think it’s easy to switch the IM engines in the IBus menu.

      > Perhaps it’s already the plan, or perhaps the Gnome designers have an even better idea?
      Yes, originally we’d think the feature from the GNOME design:
      https://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/InputLanguage
      And I have been tried to contact GNOME upstream:
      https://bugzilla.gnome.org/show_bug.cgi?id=641531

  2. WM says:

    初めまして、ふじはらさん。
    FYI, I’ve heard that Windows 8 will use windows(super) + space to switch IME.
    Maybe we could adopted this shortcut to toggle IM on and off as before?

  3. WM says:

    申し訳ありません 。Sorry, I made a typo on your name…Orz, please fix it and pretend nothing happened. 😛

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s