IBus 1.5.19 is released

IBus 1.5.19 is now released and it’s available in Fedora 29.

# dnf update ibus

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

This release moved the input focus on IBus emojier to pre-edit areas on each application upon the several feedbacks of the previous implementation. Therefore now your input focus is not changed during typing emoji annotations, Unicode name or Unicode code points with Ctrl-Shift-e. [1]
Ctrl-[f|b|n|p], Ctrl-Shift-[n|p], PageUp, PageDown, Escape shortcut keys have been available since previous IBus versions and you can check ibus-emoji(5) man page.

The pre-edit area supports multi-byte annotations with your current input method engine (IME). To configure the language of emoji annotations, you can run ibus-setup and go to “Emoji” tab. English annotation is always available whether you choose anther language or not. [2]
E.g. In ibus-anthy, Set English mode and type Ctrl-Shift-e, Ctrl-j (to enable Hiragana mode), e, g, a, o, Ctrl-j (to revert to English mode), Space

In case you’d like to show emoji category, you can type Ctrl-Shift-e and just Space without any annotations or run ibus emoji command. Unicode category is also available from the bottom of the emoji category.

A new annotation “history” is implemented to show the emoji characters which were output previously.

Also the feature of typing Unicode code points with Ctrl-Shift-u is separated from the consolidated features of Ctrl-Shift-e, for who does not wish to show the lookup window of emoji candidates but just output the specified Unicode character with the code point. Ctrl-Shift-e still can cover the Unicode code point. E.g. if you type, Ctrl-Shift-e, 100, Space, Space, both the Unicode character (Ā) of code point U+100 and emoji character (šŸ’Æ) of “100” annotation can be popuped. The both shortcut keys can be customized with ibus-setup utility.

IBus emojier’s lookup window is now changed from the focused window to the popup window not to take the input focus. But popup windows under Wayland always take the focus and cannot locate the window position if the popup window does not have a parent window, the UI is different between Xorg desktops and Wayland desktops.

Wayland desktop:

  • Use desktop’s lookup window which shows emoji candidates of one dimension and does not list up the available annotations and code points
  • No menu item on panel icon to show emoji category so you could run ibus emoji command or implement a special indicator in the panel

Xorg desktop:

  • Use IBus emojier lookup window which shows emoji candidates of two dimensions and list up the available annotations and code points
  • Menu item “Emoji choice” is available on right click menu on IBus panel icon to show emoji category

Also pre-edit of compose key typing is now available. IBus uses setxkbmap command to set keymaps internally in non-GNOME desktop so you can show the current compose keys with setxkbmap -query command. E.g. Configure of Right window key with setxkbmap -option compose:rwin. I think your desktops can save the compose key setting. If your desktop does not support it, probably you might like to save the setting in $HOME/.Xkbmap file.

GNOME-Shell sets keymaps and compose keys in GNOME desktop and you can configure compose keys with gnome-tweaks utility.

[1] IBus emojier is not available with liveuser and gdm accounts as I think the memory usage however you could run ibus-extension-gtk3 by manual to enable it, whose install path depends on distributions. Fedora path is /usr/libexec/ibus-extension-gtk3.
[2] If you change the language of emoji annotations with ibus-setup, The Unicode data is cleaned up unexpectedly until you restart ibus. This is fixed in ibus master after IBus 1.5.19.
Advertisements
Posted in IBus | Tagged , , , | Leave a comment

ibus-anthy 1.5.10 is released

ibus-anthy 1.5.10 is released and it’s now avaiable in Fedora 27 or later.
# dnf update ibus-anthy
ibus-anthy 1.5.10

The emoji dictionary is updated for emoji 5.0 and 11.0 beta.

This release replaced IBusConfig with GSettings so you have to run `glib-compile-schemas /usr/share/glib-2.0/schemas` after you run `make install` in the ibus-anthy build directory.

ibus-anthy also implements a new shortcut key Shift+F7 to convert all the preedit sequences to Katakana.

Posted in IBus | Tagged , , , | 1 Comment

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
org.freedesktop.ibus.panel.emoji
% gsettings list-keys org.freedesktop.ibus.panel.emoji
% gsettings get org.freedesktop.ibus.panel.emoji load-emoji-at-startup
true
% gsettings get org.freedesktop.ibus.panel.emoji load-unicode-at-startup
false
% 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
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys\001bdc0e3454\c4be84437bd0]
"LTK"=hex:57,30,62,7c,8d,e8,3b,a5,5c,d1,82,fa,bb,a0,e5,71
"KeyLength"=dword:00000000
"ERand"=hex(b):80,07,0b,e3,63,85,dd,2b
"EDIV"=dword:0000f548
"IRK"=hex:aa,fd,93,6f,05,c3,e7,08,47,70,43,f3,0a,06,df,1a
"Address"=hex(b):d0,6a,43,84,be,c4,00,00
"AddressType"=dword:00000000
"CSRK"=hex:a2,b3,df,00,25,5c,ff,4d,9c,4c,74,06,e2,cb,07,b7
"OutboundSignCounter"=dword:00000000
"AuthReq"=dword:00000001

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:
[General]
Name=ELECOM Laser Mouse
Appearance=0x03c2
AddressType=public
SupportedTechnologies=LE;
Trusted=true
Blocked=false
Services=00001800-0000-1000-8....
[IdentityResolvingKey]
Key=AAFD936F05C3E708477043F30A06DF1A
[RemoteSignatureKey]
Key=9437CEEC9FD5FEAA30410C1713C6D6CF
Counter=0
Authenticated=false
[LocalSignatureKey]
Key=A2B3DF00255CFF4D9C4C7406E2CB07B7
Counter=0
Authenticated=false
[LongTermKey]
Key=5730627C8DE83BA55CD182FABBA0E571
Authenticated=0
EncSize=16
EDiv=62792
Rand=3160829177541363584
[SlaveLongTermKey]
Key=DA36C669AB37846E1CA15C8A6055912D
Authenticated=0
EncSize=16
EDiv=22299
Rand=4757000163648466617

Then my Bluetooth mouse in dual boot envirinemnt works fine.

Posted in RedHat | Tagged , | 5 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