Etsushi Kato
ekato****@ees*****
2004年 4月 25日 (日) 15:04:08 JST
こんにちは。 prime.scm でも helper applet からの入力モード切り替えが動くようにして みました。uim-0.3.4.2 へのパッチです。 ついでに、shift-space でのモードの変更に applet の表示が同期していなかっ たので、これも改善しました。 ただ、prime-flush で prime-state-no-preedit ではなくprime-state-latin にしようかと思ったのですが、副作用があるかもしれないと思い、こちらはい じらず prime-context-new で prime-flush したあと prime-state-latin に もう一度戻すようにしています。 -- Etsushi Kato ekato****@ees***** -------------- next part -------------- --- prime.scm.orig Fri Apr 23 22:32:46 2004 +++ prime.scm Sun Apr 25 14:46:24 2004 @@ -204,6 +204,7 @@ (prime-context-set-rk-context! c (rk-context-new ja-rk-rule #t #f)) (prime-flush c) + (prime-context-set-state! c 'prime-state-latin) c))) ;; which is responsible to determine input mode? -- YamaKen @@ -774,6 +775,7 @@ (if (prime-on-key? key key-state) (begin (prime-context-set-mode! sc prime-mode-hiragana) + (prime-context-set-state! sc 'prime-state-no-preedit) (prime-update-mode id sc)) (prime-commit-raw sc id))))) @@ -788,6 +790,7 @@ (begin (prime-flush sc) (prime-context-set-mode! sc prime-mode-hiragana) + (prime-context-set-state! sc 'prime-state-no-preedit) (prime-update-mode id sc)) (if w (im-commit id w) @@ -891,27 +894,24 @@ (let* ((c (find-context id)) (sc (context-data c))) (prime-flush sc) - (prime-update-preedit sc id) + (prime-update-preedit id sc) (cond ((string-equal? message "prop_prime_hiragana") (begin (prime-context-set-mode! sc prime-mode-hiragana) - (prime-context-set-kana-mode! sc #t))) + (prime-context-set-state! sc 'prime-state-no-preedit))) ((string-equal? message - "prop_prime_direct") + "prop_prime_latin") (begin (prime-context-set-mode! sc prime-mode-direct) - (prime-context-set-kana-mode! sc #f) ;; required? -- YamaKen - (prime-context-set-wide-latin! sc #f))) + (prime-context-set-state! sc 'prime-state-latin))) ((string-equal? message - "prop_prime_zenkaku") + "prop_prime_wide_latin") (begin (prime-context-set-mode! sc prime-mode-zenkaku) - (prime-context-set-kana-mode! sc #f) ;; required? -- YamaKen - (prime-context-set-wide-latin! sc #t)))) - (prime-update-mode id sc) - (prime-update-prop-label id sc)))) + (prime-context-set-state! sc 'prime-state-wide-latin)))) + (prime-update-mode id sc)))) (define prime-update-prop-label (lambda (id sc)