About uim-xim
*uim package includes an XIM server named uim-xim.

XIM is a legacy protocol and has many severe restrictions.
However, there are many software which supports only XIM
protocol to input text especially in Japanese.
So, I had written uim-xim as a tentative tool.

Currently, uim-xim has many defects. Some of them can be
fixed. But the real way to go is to discard XIM itself.
*We already have gtk immodule version of uim.
*Project to make fully pluggable input method
 for Qt is in progress.

Main defects of uim-xim
*Only supports Japanese.

If someone want uim-xim to support specific another
language, say Chinese, please tell me so. I will try
or give some advice to you.

How to use uim-xim
(1) Invoke uim-xim with Japanese locale
(2) Set XMODIFIERS=@im=uim-anthy (to use anthy)
    and invoke client.

How to use extra modifier keys
uim supports 'Super' and 'Hyper' modifier keys for customized
key operations. Try following steps to enable the feature.
(1) map arbitrary keys to Super and Hyper keys
  xmodmap -e 'keycode 115 = Super_L'      # left Windows key
  xmodmap -e 'keycode 116 = Super_R'      # right Windows key
  xmodmap -e 'add mod3 = Super_L Super_R' # uim-xim treats mod3 as Super

  xmodmap -e 'keycode 117 = Hyper_L'      # 'Application' key
  xmodmap -e 'add mod4 = Hyper_L'         # uim-xim treats mod4 as Hyper

(2) define your own key-bindings
  (define-key generic-cancel-key? "<Super>g")
  (define-key generic-return-key? "<Hyper>m")

Bypassing uim temporarily
uim has 'emergency key' feature to bypass uim temporarily. This
is useful with some applications.

(1) Set the environment variable as follows
  LIBUIM_ENABLE_EMERGENCY_KEY=1

(2) Press Shift + Backspace to disable/enable uim key
    processing. Key inputs are directly passed to applications
    while uim key processing is disabled by emergency key.

--
Yusuke TABATA
