IME呼び出し操作変更ソフト「NSIME for OS/2」試験場


NSIME は、OS/2 における IME(かな漢字変換機能)のインターフェースの改良を目的としたソフトです。
具体的には、下記の2種類の機能を有しています。

とある方から「こんなの作れませんか?」とのリクエストがあり、 とりあえず腕試しに作ってみたのですが、作者自身は OS/2 でも Windows でも ATOK 一筋で、 実装がコレで正しいのか、よく解っていません。(^^;ゞ
そんなワケで、当面は Vector のライブラリに正式公開はせず、 ココで暫く放牧して様子を見る事にしました。

ダウンロード(ver0.54)

■目次


■動作環境

日本語版 OS/2 WARP4 以降+任意の IME、で動作します。
(実機及び「Microsoft Virtual PC 2007」にインストールした WARP4.52 + IME 2種類(Writing Heads/IM32 及び ATOK8)の組み合わせで動作確認)
動作確認は行っていませんが、IME がインストールされていれば、他国語版の OS/2 でも、一応動作すると思われます。

なお、本プログラムは VIO フルスクリーン、及び VDM アプリケーション(PC-DOS 及び WIN-OS2)に対しては無効です。


■実行方法

実行ファイル NSIME.EXE を適当なディレクトリに置き、 NSIMEDLL.DLL を実行ファイルと同じディレクトリか、 LIBPATH= に含まれるディレクトリに置いて、実行させるだけです。

コマンドライン・オプションとして、以下のような物が用意されています。

実行すると、ソフトの簡単な自己紹介が記された、シンプルなフレーム・ウィンドウが作成されます。
メイン・ウィンドウ自体は、本プログラムが実行中であることを視覚的にアピールするためだけに存在し、 メイン・ウィンドウを操作することによって得られる機能は、何もありません。
(超手抜き^^;

メイン・ウィンドウを閉じる操作を行うと、プログラムを終了します。
プログラム終了時に、メイン・ウィンドウの位置を NSIME.INI ファイルに保存します。
(次回の実行時に復元される)


■機能の概要

メイン・ウィンドウが作成された時点で、既に各機能は有効になっています。

その1:「MS-IME互換のIMEオン/オフ操作」

手持ちのテキストエディタやコマンド・プロンプトを開いて、 半角/全角 または ひらがな キーを押し下げてみて下さい。
半角/全角 キーは、押す度に IME のオン/オフ状態を切り替えます。
ひらがな キーは、押すと IME をオンにします(オン状態で押しても何も起こらない)。
その2:「IME制御ボタン表示」
文字の入力(正確には、IME のオン/オフ操作)を受け付けるウィンドウと、そうでないウィンドウを、交互にアクティブ化してみて下さい。
(前者はテキストエディタやコマンド・プロンプト、後者はフォルダが代表例)
後者のウィンドウがアクティブになった時だけ、IME 制御ボタンが消えるのが確認できるでしょう。

更に、フォルダがアクティブな状態で、その中のオブジェクトの改名操作 (Shift+F9 または Alt+マウスの第1ボタンシングルクリック) を行ってみて下さい。入力受け付け状態のオン/オフに同期して、IME 制御ボタンも表示/非表示になるのが確認できるでしょう。

以上が、NSIME が持つ2つの機能の概要です。
それぞれの機能がうまく動作しない場合、または何れかの機能を無効にしたい場合は、 次の「設定ダイアログ・ウィンドウ」を参照して下さい。

■設定ダイアログ・ウィンドウ

メイン・ウィンドウのシステムメニューに「NSIMEの設定」という項目があります。
これを選ぶと、各機能の有効/無効などを設定するためのダイアログ・ウィンドウを表示します。

「MS-IME互換のIMEオン/オフ操作」

本機能を無効にしたい場合は、このチェックボックスのチェックを消去します。
「オン/オフ操作後、IMEを監視」
半角/全角 または ひらがな キーの単独押し下げを行っても、 IME がオンにならなかったり、IME 制御ボタンの表示および状態が正しく更新されない場合に、有効にしてみて下さい。

この機能は、「Microsoft Virtual PC」上にて NSIME を使用する際に発生する不具合を回避するために実装しています。 詳細は後述の「Microsoft Virtual PC」上の OS/2 で使用する場合の注意」を参照して下さい。

「IME制御ボタンの設定」
半角/全角 または ひらがな キーの単独押し下げによる IME のオン/オフ操作の際に、IME 制御ボタンをココでの設定通りの入力モードにしようと試みます。
(入力モードは、3種類に大別され、IME 制御ボタンに常に表示されている)
具体的には、下記の選択肢が存在します。
  1. 文字の種類
    • 」 = 英数字入力
    • 」 = ひらがな
    • 」 = カタカナ
  2. 文字のサイズ
    • 」 = 半角
    • 」 = 全角
  3. ローマ字モード
    • 」 = ローマ字入力のオフ
    • 」 = ローマ字入力のオン
デフォルトでは、オン時/オフ時共に 「」「」「」 に設定されています。

ただし、ここでの設定が、必ずしも IME に適用されるとは限りません。
(IME 自身も、キー操作が行われた際にこれらの設定を行おうとするので、最終的に NSIME とどちらの設定が有効になるかは不明)
よってこの設定は、IME の挙動と同じになるように設定するのが望ましいです。 具体的には、試しに正規の IME オン/オフ操作(Alt+半角/全角)を数回行ってみて、 実際に IME 制御ボタンがどう変化したのかを確認し、その通りの設定を行う事を推奨します。
(必須ではありません。機能がうまく動作しない時に試してみて下さい)

「IME制御ボタンの表示」
IME 制御ボタンの表示/非表示を切り替える条件を、下記の3種類から選択します。
これらの設定を変更し、最後に「了解」ボタンを押してダイアログ・ウィンドウを閉じると、 その後の IME のオン/オフ動作に反映されます。
なお、これらの設定は「了解」ボタンを押した時点で NSIME.INI ファイルに保存します。
(次回の実行時に復元される)

■「Microsoft Virtual PC」上の OS/2 で使用する場合の注意

Microsoft Virtual PC」上で動作させている OS/2 では、IME の操作が芳しくなくなる場合があるようです。 症状も色々ありまして、例えば 「IMEオン/オフ操作が利かない」 「IME が勝手にオンになる」等々。
(原因は不明)

NSIME は、この事態に陥っても何とか IME を所望通りにオン/オフしようと試みるようにコーディングされています。 具体的には、「NSIMEの設定」ダイアログ・ウィンドウを開き、「オン/オフ操作後、IMEを監視」を有効にすると、 そのためのコードが有効になります。
(効果は確実とは言えませんが、IME をオンにすら出来ない、という事態は避けられる筈)
副作用で、NSIME が想定していない IME の制御方法(例えば、IME 制御ボタンをマウスでクリックするなど) が、全く利かなくなる事がありますが、仕様という事で諦めて下さい。(^^;)

以下余談。

作者の Windows には、標準の「MS-IME2002」以外に、「ATOK13」もインストールしてあります。 実務では「ATOK13」しか使っていないのですが、これと「Microsoft Virtual PC」を併用すると、 正常に IME を使用できなくなる事があるようです。
(上記の症状も、全部 ATOK が悪いのかも知れない^^;

仕方が無いので、「Microsoft Virtual PC」を使う時だけ「MS-IME2002」に切り替えています。 具体的には、バーチャルマシン(OS/2 実行中)のウィンドウがアクティブである状態で、 Windows のタスクバーの右端付近にある IME の絵柄(例えば ATOK)のボタンを、マウスの第1ボタン(デフォルトでは左ボタン)でクリックし、 表示されたポップアップメニューから「MS-IME2002」を選択します。
(「Microsoft Virtual PC」を立ち上げ直す度に、この手順を踏む必要がある)

蛇足ですが、同じく IME の絵柄のボタンを、マウスの第2ボタン(デフォルトでは右ボタン)でクリックし、 表示されたポップアップメニューから「設定」→「テキスト サービスと入力言語」→「キーの設定」を選択し、 必要の無い「入力言語のホットキー」を全て無効にする(あるいは、絶対押し間違えないようなキー操作にする)と、無用なトラブルを回避できます。
(作者のように用も無いのに複数の IME をインストールしている人は、使用アプリに関係無く、是非やっておくべし)

これらを心掛けるようになってから、作者の手元では IME のオン/オフ操作に関してトラブルが発生した事はありません。 根本的な解決策とは言えませんが、一応の処方箋事例という事でご紹介をば。(^^;)

なお、「Microsoft Virtual PC」以外の仮想PCソフトにインストールした OS/2 での NSIME の動作確認は、行っていません。
VT-x 対応 CPU を前提にしている、最近の仮想PCソフトが動かせる実機が無い^^;


■ソースについて

アーカイブファイルには、ソースファイル一式をまとめたアーカイブファイルが同梱してあります。
ビルド方法は、メイクファイル内のコメントを参照して下さい。
(IBM-C 用と emx/gcc 用が用意してあります)
(アーカイブに含まれている実行ファイルは、IBM-C でビルドしています)

あと、例によってアーカイブにはマニュアルは付属していません。
(このページがマニュアル代わりです^^;


■更新履歴


戻る