13/03/22 20:45:59.02 .net
>>711
uim-tutcodeのtutcode-key-press-handlerをいじって、
常に交ぜ書き変換の読み入力状態になるようにすれば可能です。
ただし、部首合成変換は後置型しか使えなくなります。
末尾の内容でtutcodepe.scmを作って、
次のようにして別IMとして登録するのが無難かと思います。
% cp tutcodepe.scm `pkg-config --variable=uim_scmdir uim`
% uim-module-manager --register tutcodepe
------tutcodepe.scm------
(require "tutcode.scm")
(define (tutcodepe-key-press-handler pc key key-state)
(if (ichar-control? key)
(im-commit-raw pc)
(begin
(tutcode-key-press-handler-internal pc key key-state)
(if (eq? (tutcode-context-state pc) 'tutcode-state-on)
(begin
(tutcode-context-set-state! pc 'tutcode-state-yomi)
(tutcode-update-preedit pc))))))
(register-im 'tutcodepe "ja" "EUC-JP" (N_ "TUT-Code preedit")
(N_ "TUT-Code with preedit") #f tutcode-init-handler tutcode-release-handler
context-mode-handler tutcodepe-key-press-handler tutcode-key-release-handler
tutcode-reset-handler tutcode-get-candidate-handler
tutcode-set-candidate-index-handler context-prop-activate-handler #f
tutcode-focus-in-handler tutcode-focus-out-handler tutcode-place-handler
tutcode-displace-handler)