uim-anthyで日本語入力中にシフト+文字で大文字英字を入力

はじめに

こんにちは、野村です。

今回は、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の設定って難しい。使いこなせるようになりたい。

というわけで、今回はこれにて。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

野村 野村のプロフィール
メインPCはWindows10のVirtualBox上のFreeBSD。Linux/Unixの小ネタを求めて日々右往左往してたりする。