[Anthy-dev 3227] Re: [Macuim-dev 114] Re: m17nでのキーバインド

Back to archive index

Kenichi Handa handa****@m17n*****
2006年 11月 21日 (火) 11:41:49 JST


In article <20061****@mbox0*****>, YAMAMOTO Kengo / YamaKen <yamak****@bp*****> writes:

> ヤマケンです。2ヶ月ぶりの反応ですいません。

こちらも反応遅れてすいません。

> > > 初回の読み込みは自動でやった方が嬉しいと思いますが、それとは別に
> > > 明示的なload_config()も欲しいです。別プロセスがセーブした設定を
> > > 反映させたい場合があるので。
> > 
> > その場合、それまでに設定していた command や variable はどう
> > いう状態になって欲しいのでしょう?

> 全て上書きで問題ないです。ユーザの明示的な操作による実行を想定し
> ているので。

了解。

> > ちなみにユーザがある IM を使用中にその IM を reload できる機
> > 能を作りつつあります。IM のデバッグ中には便利な機能なんです
> > が、これで configulation も reload するようにしようかと思っ
> > ています。

> 前述のように、uimではm17nのキーバインドを全てuim側に吸い出して管
> 理する事を前提にしているので、m17n側で設定が変更された事を知る何
> らかの手段が欲しいです。以下のいずれかのような。

> - reloadの実行を伴う操作は全てcommand化する

reload は `@reload' というコマンドで定義されていますので...

>   uim側で 'reload' 等の該当commandを検出し、その呼び出し後に設定
>   の同期を行えるようになります。

...は可能です。

> > > save_config()の方はIMのclose時に暗黙に呼び出したりせず、明示的な
> > > 実行のみとして欲しいです。
> > 
> > これはそうする予定です。ただ、
> > 
> > > これはキーバインドを全てuim側に吸い出
> > > して設定し、m17n-lib側のキーバインドを無効にする形態での利用を可
> > > 能にするためです。
> > 
> > これがよく分からないのですが、m17n-lib側のキーバインドには
> > minput_save_config でセーブされたものも入っているのですか?

> はい。

> まず、uim-m17n-*は一旦起動するとm17n側のキーバインドをuim側に読
> み出した後で全て無効にし、その上でuim独自の設定があれば追加で読
> み込みます。IMの操作は全てuimがキーシーケンスを解釈し、commandに
> 変換してm17nに渡します。

うーん、なんか誤解があるような。command は m17n-lib に渡すキー
イベントではありません。例えば (Right) および(C-f) というキー
シーケンス(どちらも長さ1)が `next-candidate' というコマン
ドに割当てられているとします。で、 *.mim の中で例えば

(map
 ...
 (change-candidate
  ...
  (next-candidate (select @+))
  ...)
 ...)

とあれば next-candidate の部分が実は

(map
 ...
 (change-candidate
  ...
  ((Right) (select @+))
  ((C-f) (select @+))
  ...)
 ...)

のことだと読み換えられてこの *.mim ファイルがロードされます。
これによってユーザが Right キーを押したら (select @+) が実行
さます。

だから「m17n側のキーバインド」を無効にすると、上記の読み換え
が行えなくなるので、ロードに失敗します。

---
半田@AIST



Anthy-dev メーリングリストの案内
Back to archive index