Making Unicode input easier to use

In the previous post, I wrote about ibus-gucharmap, a character-map based Unicode input engine. While making it usable this week, I came across some thoughts on Unicode input on GNU/Linux desktop.

Currently there are a couple of options to type Unicode characters.

  1. Cut and paste from a character map application like Gucharmap
  2. Input codepoint directly with ibus-rawcode or GTK default IM

Each of these options has its pros and cons. With the option #1, a user can easily browse Unicode characters. However, for input she is required to perform a number of interactions with desktop, using both keyboard and mouse, switching focus between application windows. With the option #2, the user can do everything without mouse but she needs to know the codepoint in advance.

So the design goals of ibus-gucharmap are:

  • Keyboard-only operation
  • Quick access to the Unicode character map

Here is the current interaction flow to input a ☣ (U+2623 BIOHAZARD SIGN). When a user enables the IME with ‘Ctrl+Space’, she will see the charmap view:

Then after she types some characters, the view will be changed to display the search results:

Here, by hitting ‘Return’ on the search results, she will get the character inserted into the target application and see the IME window is changed back to the charmap view with the Unicode block “Miscellaneous Symbols” (which includes U+2623) selected:

At this point, the user can also input ☢ (U+2622 RADIOACTIVE SIGN) with ‘Left’ and ‘Return’.

You could try this feature with (or later) RPM.

Gucharmap engine for IBus

I wrote a small IBus engine called ibus-gucharmap to input exotic characters in Unicode. The code is still under development but you can try a test package.

It is written in Vala and internally uses Gucharmap widgets. I wonder this might be the first real IME written in Vala, while IBus got Vala binding quite some time. I’m impressed that it makes GObject-based native application development much easier.

Tablet PC

I finally purchased a tablet PC for testing usability of recent GNU/Linux desktop on touch devices. Though there are not so many choices that meet my requirements (PC compatible, reasonably fast and cheap, and available in my country), Acer ICONIA TAB W500 looked fine. Actually F-15 final installed on that device without any problem and GNOME-Shell works fine on it (the peformance is not that bad as I expected from its 1GHz CPU clock).
Continue reading “Tablet PC”