はじめに
こんにちは、野村です。
今回は、uim-anthyで日本語入力中にシフト+文字で大文字英字を入力する方法を紹介します。
uim-anthyのデフォルトでは、シフト+文字で大文字英字を入力できません。
MS-IMEに慣れているとちょっと不便です。
mozcなどではできるんですけどね。
ホントはfcitx-mozcあたりを使いたいのだけど、わけあってuim-anthyを使わざるをえない状況なのです。
困ったもんだ。
~/.uim
現在使用している ~/.uim をそのまま公開します。
全角スペースを無効にする設定も含んでいます。無用であれば無視してください。
(require-module "anthy")
;;;; 全角スペースを無効にする
(define ja-direct-rule (append '((" " " ")) ja-direct-rule))
;;;; 日本語入力中にシフト+文字で大文字英字を入力
(define hack
(lambda (ac key state)
(let ((alnum (anthy-context-alnum ac))
(alnum-type (anthy-context-alnum-type ac)))
(anthy-context-set-alnum! ac #t)
(anthy-context-set-alnum-type! ac anthy-type-halfwidth-alnum)
(anthy-press-key-handler ac key state)
(anthy-context-set-alnum! ac alnum)
(anthy-context-set-alnum-type! ac alnum-type))))
(im-set-key-press-handler! (retrieve-im 'anthy)
(lambda (ac key state)
(if (ichar-upper-case? key)
(hack ac key state)
(anthy-press-key-handler ac key state))))
終わりに
以上、uim-anthyで日本語入力中にシフト+文字で大文字英字を入力する方法を紹介しました。
uimの設定って難しい。使いこなせるようになりたい。
というわけで、今回はこれにて。