IBus 1.5.18 is released (Cont #2)

I wrote “IBus 1.5.18 is released” last time and I’d write the additional information.

Previously I could not take the screencast in GNOME in more than 30 seconds and recently I got the GSettings key ‘max-screencast-length’ of ‘org.gnome.settings-daemon.plugins.media-keys’.

% gsettings get org.gnome.settings-daemon.plugins.media-keys max-screencast-length
uint32 30
% gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length 0

Now I can take the screencast of IBus unicode typing in GNOME Wayland without the 30 seconds limitation.

To enable the global shortcut key Ctrl-Shift-e in GNOME, which can be changed with ibus-setup utility, you have to add one more IBus input sources besides XKB sources with gnome-control-center region utility. E.g. If you have “English (US)” and “French”, you also need to add “English (English – US (Typing Booster))” or “Other (rawcode)” or “Chinese (Intelligent Pinyin)” or else so that you apply IBus engines to “English (US)” and “French” XKB sources.

Fedora ibus-1.5.18-2.fc28 was rebuilt for CLDR emoji 33 alpha and Unicode emoji 11.0 alpha.

# dnf update ibus

Posted in IBus | Tagged , , , | Leave a comment

IBus 1.5.18 is released

IBus 1.5.18 is now released and it’s available in in Fedora 28

# dnf update ibus

Also it’s available in Fedora Copr for Fedora 27.

This release extends IBus Emojier to show Unicode list or type Unicode names besides emoji:

  • When you open “Open Unicode choice” on the Emojier category list, Unicode name list is open
  • Can type either emoji annotations or Unicode name to find a character
  • Can launch IBus Emojier with Ctrl-Shift-e in GNOME and Plasma desktop too
  • PageUp, PageDown, Ctrl-Shift-n, Ctrl-Shift-p keys are available to shift pages on Unicode name list

Since the dialog works likes IME lookup window, Space key is assigned to select the next candidate characters. So to insert a space in Unicode names, Shift-space key is used on Emojier. E.g. “a with grave”.

Currently when the IBus is started, only the emoji data is loaded. When the emojier is launched at the first time in every session, the Unicode data is loaded.
The emoji data is about 10MB and the Unicode data is about 15MB.
If you have plenty memories, you can load the Unicode data at the IBus start time too with gsettings command.

% gsettings list-schemas | grep ibus | grep emoji
% gsettings list-keys org.freedesktop.ibus.panel.emoji
% gsettings get org.freedesktop.ibus.panel.emoji load-emoji-at-startup
% gsettings get org.freedesktop.ibus.panel.emoji load-unicode-at-startup
% gsettings set org.freedesktop.ibus.panel.emoji load-unicode-at-startup true
% ibus restart

Unfortunately the screencast always stopped suddenly in GNOME Wayland with Ctrl-Shift-Alt-r so I used XFCE4 desktop for the demo above.

Posted in IBus | Tagged , , , | 6 Comments

Bluetooth mouse in dual boot of Windows 10 and Linux

I prefer the Bluetooth mouse to the wireless USB mouse because I feel USB mouses caused chattering when I used them for more than one year. I don’t see the problem with Bluetooth mouse.

However I had one critical problem to authenticate Bluetooth 4.0 mouse in the dual boot.

After I made a pairing between Bluetooth mouse and MS-Windows 10, rebooted the system, and launched Fedora 27, and made a pairing between the mouse and Fedora, the mouse worked fine.

But after rebooted the system again and launched Windows 10, the Bluetooth mouse didn’t work and I had to make a pairing by reboot.

It seems the Bluetooth authentication saves a unique key in the host and I got how to fix the problem.

0. Make a pairing in Fedora 27

1. Make a pairing in Windows 10

2. Get PsTools to read some secret regedit keys

3. Right click on MS-DOS prompt and launch it with an Administrator privilege

3. PsExec64.exe -s -i regedit

4. Save the “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\${DEVICE}\${ADDRESS}

My data is:
Windows Registry Editor Version 5.00

5. Reboot the system and Launch Fedora 27

6. Modify /var/lib/bluetooth/${DEVICE}/${ADDRESS}/info with root

  • If $DEVICE or $ADDRESS is different, you have to move the directory. My path is /var/lib/bluetooth/00:1B:DC:0E:34:54/C4:BE:84:43:7B:D0/info and no problem.
  • Copy LTK in Windows to Key in LongTermKey in Linux with capital characters and no comma
  • Reverse ERand in Windows and convert the hexadecimal without comma to the decimal and paste it to Rand in LongTermKey in Linux. In my case, ERand is 80070be36385dd2b and the reverse is 2bdd8563e30b0780 and the decimal Rand is 3160829177541363584
  • Convert the hexadecimal of EDIV in Windows to the decimal and paste it to EDiv in LongTermKey in Linux. It’s no reverse. In my case, EDIV is f548 and the decimal EDiv is 62792
  • Copy IRK in Windows to Key in IdentifyResolvingKey in Linux with capital characters and no comma
  • Copy CSRK in Windows to Key in LocalSignatureKey in Linux with capital characters and no comma

7. Run systemctl restart bluetooth with root

My modified /var/lib/bluetooth/00:1B:DC:0E:34:54/C4:BE:84:43:7B:D0/info file is:
Name=ELECOM Laser Mouse

Then my Bluetooth mouse in dual boot envirinemnt works fine.

Posted in RedHat | Tagged , | 4 Comments

FAD I18N 2017

FAD I18N 2017 was held in Pune India last month. Fedora I18N members met together and there was very exciting and constructive event.

I talked about IBus 1.6 plans there. I’ve been thinking to implement a new ProcessKeyEvent method to support Korean preedit with X11 applications. Peng Wu now provided a patch of ForwardKeyEvent method instead of the new ProcessKeyEvent method. We will ask the maintainer of ibus-hangul to release the new version to use ForwardKeyEvent.


IBus needs the new SetCursorLocation method to support running clients in the multiple screens.


Regarding to migrating DConf to GSettings, I almost give up waiting for GSettingsList and  now thinking to create GSettings schemas directly instead of converting DConf schemas. I.e. GSettings can support various GVariant formats and then we don’t have to add a new key with GSettingsList  but just “av” format could include new elements. Currently I’m working on this task with ibus-anthy and Once succeeded, I’d ask other engines to start the migration.


Before delete the duplicated DBus methods, Qt5 IBus modules have to be migrated to the new DBus methods in libibusplatforminputcontextplugin.so of qt5-qtbase.


One concern is that IBus GTK panel still needs GtkStatusIcon for legacy desktops instead of GNOME desktop but the status of GtkStatusIcon is not clear in GTK 4 or later.


I also talked about IBus automation testings. QE team provides some interesting scripts using Python keyboard. I implemented an IBusEngine testing using GtkEntry in ibus-anthy. Mike Fabian implements an IBusEngine API testing. Now I’m searching how to get focus-in event in GTK during %check of rpmbuild or koji build.


I also talked about desktop automation testings. I could run XFCE4 on console with startxfce4 command. But currently I have no idea to run both X11 and Wayland GNOME on console.


I’d think to implement Unicode names on IBus Emojier for Fedora 28.

Fedora 27 celebration

Posted in IBus | Tagged , , , | Leave a comment

IBus 1.5.16 is released

IBus 1.5.16 is now released and it’s available in Fedora 26:

# dnf update --enablerepo=updates-testing ibus

Also it’s available in Fedora Copr for Fedora 25.

This release enhanced the functionality of emoji typings on IBus Emojier:

  • Control-f, Control-b, Control-n, Control-p, Control-h, Control-e, Control-a, Control-u for cursor operations
  • Focus on emoji annotation entry by default
  • The language setting of emoji annotations is moved into ibus-setup
  • Man page (ibus-emoji.7) is added
  • ibus emoji command is available for no IBus panel desktops likes GNOME
  • Favorites category is updated by selecting an emoji
  • Change the modal dialog (popup window) to the modeless dialog
  • Insert multiple Unicode points with Shift-space key. E.g. 1f466 Shift-space 1f3fb
  • Provide an option to match emoji annotations with partial match
  • Hide emoji variants by default
  • Enabled custom annotations by gsettings

Currently emoji color rendering is not supported yet but you can enable it with the patched cairo in Fedora Copr.

If you build ibus from the source codes, You can get Unicode emoji files from http://www.unicode.org/Public/emoji/4.0/ or Fedora provides unicode-emoji package. The version 4.0 is recommended since 5.0 is not released officially yet.
You can get emoji annotation files from https://github.com/fujiwarat/cldr-emoji-annotation or Fedora provides cldr-emoji-annotation package.

Posted in IBus | Tagged , , , | Leave a comment

IBus 1.5.15 is released

IBus 1.5.15 is now released.
This release has several bug fixes and emoji typing is moved from IBusEngineSimple to IBus Panel.

ibus-1.5.15 is available in Fedora 26.

# dnf update --enablerepo=updates-testing ibus

The same version is also available in Fedora copr for Fedora 25 and 24.

When you type Control-Shift-e key, the emoji typing dialog is launched which I named Emojier.

IBus Emojier

I continue to enhance the features in git master.

  • Control-Shift-e key to launch emoji dialog (1.5.15)
  • Right click on panel icon and “Emoji Dialog” menu item to launch emoji dialog (1.5.15)
  • Customize the shortcut key to launch emoji dialog with ibus-setup (1.5.15)
  • Customize the font name and size on emoji dialog with ibus-setup (1.5.15)
  • Select a language of emoji dictionaries (1.5.15)
  • Space, arrow, PageUp/PageDown and Enter keys to select emoji candidates and categories (1.5.15)
  • Escape key to cancel emoji candidates, delete emoji annotation, or close emoji dialog (1.5.15)
  • Favorite emoji strings can be added in ’emoji-favorites’ key in org.freedesktop.ibus.panel GSettings schema (1.5.15)
  • ibus emoji command for GNOME desktop (1.5.15)
  • arrow and Shift-arrow keys to move the cursor on emoji annotation (master)
  • Inherit theme colors on emoji candidate (master)
  • Control-f, Control-b, Control-n, Control-p, Control-h, Control-e, Control-a for cursor operations (master)
  • Focus on emoji annotation entry by default (master)

Regarding to the ibus build, you can get emoji.json with npm install -g emojione or Fedora provides nodejs-emojione-json package.
You can get emoji annotation files from https://github.com/fujiwarat/cldr-emoji-annotation or Fedora provides cldr-emoji-annotation package.
If you run ./configure --disable-emoji-dict, you need to run make -C ui/gtk3 maintainer-clean-generic and make -C tools maintainer-clean-generic to regenerate *.c files from *.vala.

Posted in IBus | Tagged , , , | Leave a comment

ibus-anthy 1.5.9

ibus-anthy 1.5.9 is released and it’s now available in Fedora 25 and 24.

# dnf update ibus-anthy

It’s Emoji dictionary is updated for Emoji 3.0 and Unicode 9.0.

ibus-anthy Emoji 3.0

I think the translation of Emoji annotation is not unique. E.g. “bicycle” can be “バイク”, “原付”, “スクーター”. So probably we need to think plural forms?

This version also fixes Tab key to enable the predict function.

Posted in IBus | Tagged , , , | Leave a comment