[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:10262] Re: Kinput2 on Plamo2.2.1



  山内です.

>  /usr/X11R6/bin/kinput2を変更しない方法として,XMODIFIERSを見るのはど
> うでしょうね。

  うーむ,クリティカルですね.

.xinitrc で,

if [ -x /usr/X11R6/bin/kinput2 ] ; then
    /usr/X11R6/bin/kinput2 &
    XMODIFIERS="@im=kinput2"
    export XMODIFIERS
fi

つまり,kinput2なり,nicolatterなりを起動する前は,
XMODIFIERS は設定されていない,と仮定するわけですね.

この場合だと,.canna に,

(if (not (equal (getenv "XMODIFIERS") nil ) )
  (progn
       :
       :
と書けばOKですが,

・cannaを使うXMODIFIERは必ず先に起動されなれればならない.
・その,XMODIFIERは死んではならない.
  (死んだ時は XMODIFIERSを一旦unsetして kinput2 を起動
  する必要がある)

という条件がつきます.


  .emacs と連携する方法としては,またこれトリッキーなん
ですが,

.emacs で,

(if (and (boundp 'CANNA) CANNA) ; 『かんな/emacs』であることを確認
    (progn
      (setenv "CANNACLIENT" "emacs")
      (load-library "canna")
      (canna)
      (define-key canna-mode-map [?\033] [?\C-t])
        :
        :

.canna で,

(global-set-key "\C-t[3~" 'delete-next)
; Cursor key
(global-set-key "\C-t[D"   'backward)
(global-set-key "\C-t[C"   'forward)
(global-set-key "\C-t[A"   'previous)
(global-set-key "\C-t[B"   'next)
(global-set-key "\C-tOD"   'backward)
(global-set-key "\C-tOC"   'forward)
(global-set-key "\C-tOA"   'previous)
(global-set-key "\C-tOB"   'next)
; PageUp, PageDown key
(global-set-key "\C-t[5~"  'previous)
(global-set-key "\C-t[6~"  'next)

のように,cannaで未使用で,他に影響なさそうなキーを
介する,という方法もあります.


  他に,kinput2用の .canna と emacs用の .canna を分ける,
という事も考えてみたのですが,美しくない… --;

  canlisp の機能が少ないというのも難しくしている原因の
1つかも…

------                                           ------
  Chisato Yamauchi
    Mail: cyamauch@hst.phyas.aichi-edu.ac.jp
          cyamauch@phyas.aichi-edu.ac.jp
    URL:  http://phe.phyas.aichi-edu.ac.jp/~cyamauch/
------                                           ------

References
[plamo:10261] Re: Kinput2 on Plamo2.2.1, Shoichi TAMUKI

[検索ページ] [メール一覧]
Plamo ML 公開システム