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