１. 表紙　top page

Copyright © 2008, applet <applet@bp.iij4u.or.jp>

２. 概要　abstract

  「のどか」は、「窓使いの憂鬱」の派生バージョンです。 サポート開発主体は、「窓使いの憂鬱」とは異なります。お間違えの無いよう、よろしくお願いいたします。

  - Windows 2000, Windows XP, Windows Vista で動く汎用キーバインディング変更ソフトです。
  - 「窓使いの憂鬱」Version 3.30から「のどか」Version 4.06 までの変更/修正点については、改版履歴を ご覧ください。
  - 特定のキーを入れ替えたり、2 ストロークキーを設定できます。
  - 個々のウィンドウに別々のキーバインディングを割り当てることができます。
  - Control キーなどのモディファイヤキーを自由に作成することができます。
  - ウィンドウの移動、最大化、最小化するキーを作成できます。
  - エディットコントロールを Emacs 風にすることができます。
  - シンボルを用いて、一つの設定ファイルをメニューから切り替えて用いることが可能です。
  - 暫定扱い かつ 全ての機能はサポートしていませんが、タッチパッドと併用するときに便利な ThumbSense(サムセンス)対応コードも取り込みました。
  - 日本語配列キーボードと英語配列キーボードを同時に使用することが可能です。
  - 通知領域（タスクトレイ）の「のどか」アイコンの色を変える機能(&IconColor)によって、モードを表現することも可能です。
  - お試し機能として、任意のウィンドウや通知領域（タスクトレイ）のアイコンに、&SendPostMessage 文を用いて、任意のウィンドウメッセージを送ることが可能です。
  - &ShellExecute 文を用いて、キーを押したときに任意のプログラムの起動が可能です。
  - 試用版は、正式版からの制限として、起動後30分で動作停止します。正式版（税込み 1800円）は、http://appletkan.com/ にて販売しています。
    また、Vector のシェアレジ(レジ作品番号 SR152080)でも購入可能です。
    シェアウェアとしているのは、署名付きドライバへの道を探るためです。 目標100本で会社設立、署名取得の予定ですが、現在の販売ペースだと、2009/09 頃となるであろうと考えます。
    ソースコードは、Common Public License で http://sourceforge.jp/projects/nodoka4/ にて公開しています。
  - ユーザサポートについては、サポートの項をご覧ください。

  しかし、次のような危険性があります。

  - Windows XP 64bit Edition, Windows Vista 64bit Editionでの動作は可能です。しかし、まだ署名付きのデバイスドライバではありません。
  - Vista 32/64bitやXP 64bitでは、管理者権限で動作しているプログラムや64bitのプログラムに対して操作ができず、Globalなキーマップになるなどの不具合があります。 なお4.02から Vista 32bitにおける IE7 の保護モードに対応し、また管理者権限で動作させると、管理者権限/通常権限で動作している双方のプログラムの操作が出来るよう改善しました。
  - 標準でない キーボードドライバを利用していると Windows 2000/XP/Vista がブルースクリーンになって終了してしまうか、動作がおかしいことがあります。そのような場合は、標準でないドライバをアンインストールするか、「のどか」の利用をあきらめるしかありません。
    標準でないキーボードドライバとは、ロジテックあるいはロジクールのマウス あるいはキーボードに付属のドライバや AltIME や、猫まねきのキーボードドライバなどです。
    なお、4.03以降のsetupでは、インストール開始時に、キーボードクラスのフィルタドライバの有無を確認するようにしました。
  - 他人が使用する可能性のある PC へのインストールは、おやめください。(どのような問題があるかについては、セキュリティ の 項を ご覧ください。)
  - バグの項や、著作権表示の項も、必ず、ご覧ください。不都合が発生した場合の責任の所在は、試用版ならびに正式版に関わらず、利用者にあります。
３. インストール　install
  1. 「のどか」以外のキーボードカスタマイズソフトを利用している場合はアンインストールしてください。
     - たとえば、AltIME や 猫まねき などです。誤動作の原因となります。またAutoHotkey や Xkeymacs の場合には動作すると考えますが、不具合が発生した場合、どちらの問題か判りにくくなりやすいので、アンインストールを推奨します。
     - 特に AltIME を使用していた場合は、FAQ の最初の項目をよく読んでください。
     - PGPi を利用しているとうまく動きません。GnuPGを、お使いください。
     - nProtect GameGuard が動作するプログラムで、「のどか」が動作中だと、キーボード入力できないなどの問題が発生します。「のどか」を自動終了/起動させる nshell.exe を同梱したので、こちらを用いて、同時動作させないようにすることは可能です。お試しください。`nshell.exeの解説テキスト`
     - VMware Workstationも、nodokad.sysと同じように組み込まれるフィルタドライバが存在するため、不都合が発生が高くなります。FAQの最初の項目を、ごらん頂き、レジストリをご確認ください。
  2. 以前のバージョンの「のどか」を利用している場合は、アンインストールの項を、ごらん頂き、「のどか」を終了させ てください。試用版から正式版へ差し替える場合も、同様です。
     - 4.02以前をインストールしていた場合には、スタートアップやプログラムメニューに、それぞれショートカットが2個登録されるので、インストール後、手作業で片方を削除してください。「のどか 」「のどか」が存在し、半角スペースが付いている方が古い方です。
     - 「窓使いの憂鬱」からの移行の場合には、下記コラム「窓使いの憂鬱」から「のどか」への移行について を ご覧ください。
     - Vista 64bit Editionの場合には、デバイスドライバに署名が付いていないため、Windows ブートメニュー表示時に、F8キーを押して、「ドライバ署名の強制を無効にする」を選択して起動させてください。 これは、通常使用時でも同じです。もしも、これを忘れると、マウス/キーボード操作が出来ないまま、ログイン画面となり、打つ手が無く、電源を切るぐらいしか できなくなります。
       ReadyDriver Plusというソフトを導入して、自動的にドライバ署名強制無効モードで起動させるなども、ご検討ください。
  3. 入手された実行ファイル nodoka-4.06_sample_setup.exe (試用版), nodoka-4.06_setup.exe (正式版)を Administrator（管理者）権限で実行してください。すると「のどか」のインストール作業が開始されます。
     2. で、アンインストールを実行しなかった場合 で、Vista 32bitの場合、ファイルの上書きに対する問い合わせがあるので、上書きを許可してください。
     キーボードクラスのフィルタドライバが存在する場合、インストールを続行するか確認ダイアログが表示されます。このまま、インストールを続行し 、PC再起動した場合、動作が不安定となる可能性があるので、アンインストールの項の「窓使いの憂鬱」や「のどか」のアンインストールが、うまく行かない場合。」を、ご覧いただき、不要なフィルタドライバを削除するようにしてください。
     また、アンインストールしてPCを再起動していなかった場合にも、ダイアログが表示されるので、PCを再起動してから、インストール作業を行ってください。
     なお、オプションについては、以下のとおりです。
     - インストール先
       実行ファイルなどがインストールされるフォルダです。デフォルトのままでよいでしょう。必要ならば参照ボタンを押して、変更可能です。
     - All Users のスタートメニューに登録
       すべてのユーザのスタートメニューにショートカットが登録されます。なおスタートアップに登録されませんので、自動起動しません。
     - 個人のスタートアップに登録
       現在インストール作業を実行しているユーザのスタートアップに登録され、自動起動するように設定されます。
     - キーボードの種類
       日本語キーボードの場合には、日本語109(106)キーボードを、また英語キーボードの場合には、英語104(101)キーボードを選択してください。
  4. インストールが終わったらPCを再起動してください。
  5. インストール時に、スタートアップに登録を設定していないならば、`nodoka.exe` を実行することで動作開始します。 その場合、お好みにより、スタートアップにショートカットを作ると良いでしょう。
     試用版の場合には起動後30分で自動終了します。
     4.04以降では、nodoka.exe 実行時に、0〜7の引数を指定することで、通知領域のアイコンの色を指定することが可能となりました。関数 &IconColor の項をご覧ください。
  6. もし、「窓使いの憂鬱」の設定ファイルをお使いの場合、正しく読み込まれていません。下記コラム「窓使いの憂鬱」から「のどか」への移行について を ご覧ください。
  復旧用ドライバについて

    Windows 2000/XP/Vista の場合「のどか」ドライバは `nodoka.exe` の実行の有無に関わらずロードされます。このため、たとえ「のどか」を自動起動にしていなくても、ドライバの不具合によって「のどか」のアンインストールも含めた操作が不能になる場合があります。その場合でも下記の手順によって Windows の再インストールを回避することができる場合があります。 （下記の手法は、レジストリのデバイスドライバのエントリを残したまま、実害の無いレスキュー用のデバイスドライバに差し替える方法です。）

    1. 電源ボタンの長押し等によって一旦、強制的に電源を落したあと回復コンソールを起動します。尚、回復コンソールでの起動ができることを「のどか」のインストール前に確認しておくことをお勧めします。(参考: Windows XP 回復コンソールについて)
       なお、Vistaの場合には、Vistaインストールディスクで、PCをブートさせる必要があります。(参考: 回復コンソールの後継機能)
    2. `%windir%\system32\drivers` 内の `nodokadrsc.sys` を `nodokad.sys` の名前で上書きコピーします。(即ち `nodokad.sys` を `nodokadrsc.sys` で置き換える。64bit OSの場合には、`nodokadx64rsc.sys` を `nodokad.sys` の名前で上書きコピーしてください。)
    3. 再起動します。
    4. コントロールパネルから「のどか」をアンインストールします。
  「窓使いの憂鬱」から「のどか」への移行について
    「窓使いの憂鬱」を お使いだった場合、「のどか」への移行については、設定ファイルに関して、変更が必要な箇所があるため、次の手順で移行を行ってください。
    1. 「窓使いの憂鬱」をアンインストールして、PCを再起動してください。
    2. 「のどか」をインストールし、PCを再起動してください。
    3. お使いだった 設定ファイルがある場合には、そのファイル名を .mayu から dot.nodoka に変更してください。.mayu ファイルのままとしたい場合には、設定ダイアログで直接指定するようにしてください。なお設定ファイルは、環境変数 HOME, USERPROFILE, HOMEDRIVE\HOMEPATH で指定されたフォルダ、現在 実行している nodoka.exe が存在するフォルダ、nodokaがインストールされたフォルダの順に検索しますが、検索するファイル名は、dot.nodoka になっています。
    4. 設定ファイル内の記述で、109.mayu などの、窓使いの憂鬱の設定ファイルを includeする記述がある場合には、拡張子を.nodoka に変更してください。
       window 指定で「窓使いの憂鬱」の mayu.exe を指定している場合、nodoka.exe に変更し、「のどか」のウィンドウを指定するようにしてください。
       関数 &MayuDialog を お使いだった場合、&NodokaDialog に記述を変更してください。
    5. 「窓使いの憂鬱」のプラグインをお使いの場合、プラグインDLL内関数名がNodokaに対応していないと動作しません。主要なプラグインについては、リビルドして再配布しているので、リファレンスの項を、ご覧ください。
４. アンインストール　uninstall

> 1) 「のどか」を実行中の場合には、タスクトレイ（通知領域）上のアイコンを右クリックして、終了を選んで、終了させてください。
> 2) 次にコントロールパネルから「のどか」をアンインストールしてください。
> 3) アンインストール後、必ずPCを再起動してください。
> ・アンインストール後、`nodoka.dll` がインストール先フォルダに残る場合があ ります。不要ならばPC再起動後、手作業で削除してください。
> ・また 4.02以前を お使いだった場合、スタートアップやプログラムメニューに、それぞれ「のどか 」ショートカットが残る場合があるので、手作業で削除してください。

  「窓使いの憂鬱」や「のどか」のアンインストールが、うまく行かない場合。
    なんらかの問題が発生し、「窓使いの憂鬱」あるいは、「のどか」 のアンインストールがうまく行かなかった場合、PCを再起動する前に、少なくとも下記を実施されて、安全にPCが起動できるようにしてください。
    なお、下記を実施せずに、PC再起動させて、キーボードやマウスが操作できないといった不具合が発生した場合には、インストールの項の復旧用ドライバについてを　ご覧ください。
    1. レジストリエディタ regedit.exe をコマンドプロンプトから実行してください。
    2. 次のレジストリエントリの中身を確認します。
       HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}
       UpperFilters
    3. ここに nodokad あるいは mayud の記述がある場合には、これを削除してください。なお kbdclass の記述を削除しないよう、ご注意ください。
       次回PC起動したときに、ここの記述にあるフィルタドライバを読み込もうとします。しかしながら、どれかのデバイスドライバの不具合がある場合や、デバイスドライバのファイル自身が、先のアンインストール作業で削除されてい て、レジストリには残っている場合、次回のPC起動時に、ブルースクリーンになったり、あるいはファイルが無い時には、キーボード、マウスが使えない状態になります。
       「のどか」のデバイスドライバは、2008/8/2 にリリースした4.01以降、修正が必要な不具合には遭遇しておらず、変わっていません。ブルースクリーンになったという報告もいただいていませんので、他のデバイスドライバとの問題が発生しない限り、問題は ほぼ無いと考えています。
       また、「のどか」のSetupでは、Version 4.03 以降において、アンインストールに失敗した場合でも、このフィルタドライバのレジストリエントリを削除するようにしているので、上記のことが起きる可能性は低くなっています。しかしながら「窓使いの憂鬱」の Setup では考慮されておらず、たまにデバイスドライバを消して、レジストリエントリを残し、不具合発生の原因となります。

５. メニュー　menu

  「のどか」を実行すると、通知領域（タスクトレイ）に「のどか」のアイコンが表示されます。

  この「のどか」のアイコンを右クリックするとメニューが出てきます。

  再読み込み(R)

    設定ファイルを再読み込みします。`&LoadSetting` と同じです。
    ログウィンドウや設定ウィンドウにも、「再読み込み(R)」を付けました。そちらからでも可能です。

  選択(C) ►

    サブメニューから設定ファイルの切り替えを行います。 デフォルトでは、上記のように(ホームディレクトリから)から、日本語109キーボード(104風)までの5個の設定があるので、選択のサブメニュー上で、所望のものの上にマウスポインタを持って行き、左クリックで、その設定が選択されます。
    なお、デフォルトでは、日本語109キーボードあるいは、英語104キーボードが選択されているので、キーバインディングは Emacs風に なっていません。もしEmacs でのキーバインディング操作に慣れている場合には、Emacs風に変更してください。

    なお、「のどか」がデフォルトで用意しているサンプル設定は 8 つあります。以下の条件の組み合わせとなります。

    1. キーボードは日本語 109 キーボードか、英語104 キーボードか。
    2. キートップの表示の通りに使うのか、109 (または 104) キーボードを使っているが、104 (または 109) キーボードと同じ配置で使うのか。
    3. Emacs (UNIX で標準的なエディタの一つ) に似せたバインディングを使うかどうか。

    このうち、a はインストール時に決定されるので、サブメニューに表示されるものは b, c の組み合わせ 4 種類になります。

    デフォルト設定以外に独自の設定が必要な場合は、ホームディレクトリに `dot.nodoka` ファイルを作りそのファイルに設定を記述します。そしてサブメニューで (ホームディレクトリから) を選びます。詳しくはチュートリアルとカスタマイズを参照してください。 なお、現在の設定ファイルは、下記、設定ウィンドウのファイル編集ボタンから、メモ帳で開いて編集することが可能です。

  設定(S)... （「のどか」のアイコンを中ボタンでクリックしても表示されます。）

    選択(C) ►の選択肢となる設定ファイルを 指定するために、設定ウィンドウを開きます。

    ・ 右側の矢印ボタンでメニューに表示される順序を変更することができます。

    ・「再読み込み(R)」ボタンを押すと、現在フォーカスされている設定をロードし、キーバインディングを変更しますが、ウィンドウは閉じません。

    ・ 設定ウィンドウを「OK」ボタンで閉じると、現在フォーカスされている設定ファイルがロードされ、キーバインディングが変更され 、設定ウィンドウを閉じます。

    ・設定ウインドウの「ファイル編集(F)」ボタンを押すと、設定ファイル名リスト上で、現在フォーカスされた行で、指定されている設定ファイルを、メモ帳で開きます。

    ・「追加(A)」又は「編集(E)」ボタンを押すか、行をダブルクリックすると 、下記、編集ダイアログボックスが表示されます。

    ・「名前(N)」には、メニューに表示される名前を記述します。

    ・「ファイル名(F)」を空欄にするとホームディレクトリから `dot.nodoka` を読み込みます。
    例えば、test.nodoka のように、パスをつけずに、ファイル名単体で指定した場合、ホームディレクトリから 検索します。

    ・あるいは、「参照(B)」ボタンを押して、ファイル を探して、指定することが可能です。その場合には、フルパス指定となり、include 文で読み込まれる設定ファイルの検索先として、その設定ファイルが置かれたフォルダから検索するので、注意してください。

    ・「シンボル(S)」には、条件分岐で使用されるシンボルを記述します。シンボルの頭に `-D` をつけ、複数のシンボルは `;` （セミコロン）で区切ります。

    ・「OK」ボタンを押すと、「追加(A)」で始めた場合には、設定ファイル名リストに新たな項目が追加されます。「編集(E)」で始めた場合には、変更結果が保存されます。

    ・設定ウィンドウにおいて、「ファイル編集(F)」ボタンを押したとき、(ホームディクトリから) の設定のところなど、設定ファイル名が 空欄で、指定されていない場合で
    かつ、まだ設定ファイルが、ホームディレクトリに置かれていない場合、下記ダイアログが開き、デフォルトの設定ファイル dot.nodoka を 、ホームディレクトリにコピーしてから、そのファイルを開くことが可能です。

    なおコピー先は、環境変数 HOME, USERPROFILE, HOMEDRIVE\HOMEPATH での指定を順に検索し、先に見つかったところにコピーします。Windowsデフォルトでは、HOMEは設定されていないので、USERPROFILE で指定されたフォルダとなります。
    コピーを指示しなかった場合には、c:\Program Files\nodoka\dot.nodoka ファイルを開きます。このファイルは、デフォルトファイルであり、インストールするたびに更新されるので、編集しないでください。

    また、設定ファイル名に、新たなファイル名を記述した場合、上記、環境変数が指すフォルダに、そのファイル名の設定ファイルが存在しない場合、新規ファイル作成と扱い、空の設定ファイルを開きます。

    なお、Windows Vista の場合、C:\Users\ユーザ名\AppData\Local\VirtualStore\Program Files\nodoka が存在すると、「ファイル編集(F)」ボタンを押すと、下記ダイアログが表示されます。この VirtualStore の nodoka のフォルダ内に、dot.nodoka などの設定ファイルが存在しても、「のどか」では使用しないので、ファイルもフォルダも不要です。このC:\Users\ユーザ名\AppData\Local\VirtualStore\Program Files にある nodoka フォルダは、この機会に削除してください。もしも削除しないと、このダイアログが開くだけで、設定ファイルを開くことが出来ないので、ご注意ください。

  一時停止(T)

    「のどか」の機能を一時的に停止します。キーボードからの入力は、「のどか」が存在しない時と同じ動作をします。このとき、タスクトレイのアイコンは になります。なお、起動時の引数や関数&IconColor で、アイコンの色を変更している場合は、それぞれの停止状態のアイコン表示となります。

  調査(I)... （「のどか」のアイコンを左ボタンでダブルクリックしても表示されます。）

    調査ウィンドウとログウィンドウを表示します。

    それぞれの場所でキーを押すことにより、ウィンドウの調査、キーのスキャンコード の調査、仮想キーの調査を実施し、ログウィンドウに結果を表示します。

    ウィンドウの調査では、アイコンを調べたいウィンドウまでドラッグするとウィンドウクラスとウィンドウタイトルがログに出力されます。
    ここで調査したウィンドウクラス名とウィンドウタイトルは、設定ファイルで `window` を記述できる個所に記載が可能です。(ここで調査する代わりに、`FUNCTION` `&WindowIdentify` を利用しても調べることができます)

    スキャンコードの調査や、仮想キーの調査では、それぞれ、白い四角の箱を左クリックしてから、キーボードの任意のキーを押すと、そのキーのスキャンコードや、仮想キーコードがログウィンドウに表示されます。
    それぞれ、「のどか」内部で認識しているウィンドウクラス、ウィンドウタイトル、およびキーコードが分かるので、設定ファイルでの記述の際、参考にしてください。

  ログ(L)... （「のどか」のアイコンを左ボタンでクリックしても表示されます。）

    ログウィンドウを表示します。

    ・調査(I)...の結果やエラーなどがここに表示されます。(「□詳細(D)」をチェックすると、「のどか」の内部の変換処理が詳細に表示されますが非常に難解です)

    ・「ログのクリア(L)」ボタンを押すと、現在表示されているログを消去します。

    ・「フォントの変更(F)」ボタンを押すと、 ログ表示に用いるフォントを変更し、再描画します。

    ・「再読み込み(R)」ボタンを押すと、現在選択されている設定ファイルを再読み込みします。

    ・「閉じる(C)」ボタンを押すと、ログウィンドウを閉じます。

  バージョン(V)...

    バージョン情報などを表示します。バグレポートをする時にこの内容をコピーすると便利です。

    ・「最新バージョンのダウンロード(D)」ボタンを押すと、規定のブラウザで、http://www.appletkan.com/ を開きます。

    ・「閉じる(C)」ボタンを押すと、バージョン情報ウィンドウを閉じます。

  ヘルプ(H)...

    このヘルプマニュアルを、規定のブラウザで表示します。
    英語環境では、Web上のオンラインヘルプを開き、Googleの翻訳エンジンに和文英訳させます。ただし正しい翻訳結果は期待できません。

６. チュートリアル　tutorial

  この章では、「のどか」を初めて使うユーザーが、実際に設定を繰り返しながら、簡単なカスタマイズであれば問題なくできるレベルに到達することを目指します。まずはこの文章に沿って、実際にサンプルの設定を試してみてください。詳細が知りたい場合には、各章のリンク先で詳細を読むことができますので、疑問点があればリンク先を ご覧ください。

  i. 自分用の設定ファイルを作る

    まず、通知領域（タスクトレイ）の「のどか」のアイコンから選択(C) ►の(ホームディレクトリから)を、使用した場合に、使われる自分用の設定ファイル `dot.nodoka` ファイルを準備します。
    それには、「のどか」のアイコンを右クリックして、設定を選んで、設定ウィンドウを開きます。続いて、(ホームディレクトリから)のところで、ファイル編集ボタンを押すと、下記ダイアログが表示されます。ここで、「はい」を選ぶと、デフォルトの設定ファイル dot.nodoka ファイルがホームディレクトリにコピーされます、次の設定ファイルの編集作業のために、メモ帳でコピーされた dot.nodoka ファイルを開きます。
    （もし、ここで「いいえ」を選ぶと、c:\Program Files\nodoka\dot.nodoka ファイルを開きますので、ご注意ください。）

    コピー先は、デフォルトでは、環境変数 USERPROFILE が指すフォルダとなります。もし、それが、どこなのか知りたい場合には、環境変数 `USERPROFILE` の設定値をコマンドプロンプトで表示し、ホームディレクトリの位置を 確認します。

    環境変数 USERPROFILE の設定値の確認方法

      アクセサリ-コマンドプロンプトを実行して、コマンドプロンプトを開き、set USERPROFILE [Enter] を入力すると、現在指定されているフォルダが表示されます。なお、set[Enter] だけだと、全ての環境変数の設定値が表示されます。

    USERPROFILE には、通常 具体的には、Windows 2000 や XP では、c:\Documents and Settings\ユーザ名。Vistaでは、c:\Users\ユーザ名 あるいはエクスプローラからたどるなら > c: > ユーザー > ユーザ名 となっています。

    参照: ホームディレクトリ

  ii. コピーした設定ファイルに最低限の設定を書く

    まず、dot.nodokaファイルには、デフォルトで、日本語キーボード(106/109キーボードなら 109.nodoka )か、英語キーボード(101/104キーボードなら 104.nodoka )を include 文で読み込む設定が記述されており、if ( USE109 ) 文によるシンボルによる分岐で、どちらかが設定されるようになっています。

    もしも、シンボルによる分岐を用いずに、直接記述する場合には、下記のようになります。

    109 日本語キーボードの場合

      `dot.nodoka` ファイルの先頭に以下のように記述します。 なお # 記号を書くと、そこからの記述はコメントとなります。

      include "109.nodoka" # 109 キーボード設定

      好みに応じて、以下の各行を書くか書かないかを決めてください。( シンボル USE104on109, USEdefault に対応 し、それぞれ、英語配列にする、Emacsライクにする設定となります。 )

      include "104on109.nodoka" # 109 キーボードを 104 キーボード風に
      include "default2.nodoka" # Emacs ライク メモ帳のみの設定

      なお、default2.nodoka ではなく、default.nodoka に変更すると、「窓使いの憂鬱」でのデフォルトと同等になります。

      include "default.nodoka" # Emacs ライク な様々な設定

    104 英語キーボードの場合

      `dot.nodoka` ファイルの先頭に以下のように記述します。

      include "104.nodoka" # 104 キーボード設定

      好みに応じて、以下の各行を書くか書かないかを決めてください。( シンボル USE109on104, USEdefault に対応し、それぞれ、日本語配列にする、Emacsライクにする設定となります。)

      include "109on104.nodoka" # 104 キーボードを 109 キーボード風に
      include "default2.nodoka" # Emacs ライク メモ帳のみの設定

      なお、default2.nodoka ではなく、default.nodoka に変更すると、「窓使いの憂鬱」でのデフォルトと同等になります。

      include "default.nodoka" # Emacs ライク な様々な設定

    ここまで書き込んだら、タスクトレイメニューで選択(C) ►から(ホームディレクトリから)を選んでください。ログウィンドウにエラーメッセージが出ないようであれば、ここまではうまくいっています。( if文によるシンボルでの分岐を、そのまま お使いならば、設定ダイアログのリスト上の右端に、-DUSE109 などを忘れずに。)
    これでカスタマイズの準備ができました。この先に自分好みの設定を書き加えていくことになります。そして書き加えたら再読み込み(R)します。

    ログウィンドウに「error: failed to load.」と出ていた場合、その 設定ファイルの読み込みに失敗しています。設定ファイルのパスと、行数、エラーメッセージが表示されているので、それを参考に修正してください。

    参照: `contrib\nodoka-settings.txt`

  iii. 普通のキーを入れ替えてみる

    以下、説明の便宜上 109 キーボードを使っているものとして話をすすめます

    まず、`Esc` キーと `半角/全角` キーを入れ替えてみます。これは、`dot.nodoka` ファイルの末尾に以下のように追加します。

    keymap Global
    key Esc = 半角/全角
    key 半角/全角 = Esc

    再読み込み(R)をして確認してみてください。

    1 行目の `keymap Global` は、次の `keymap` 指定までの記述は全ての ウィンドウで有効な設定とする、という指示です。従って、最初に必ず書くことになります。

    2, 3 行目のように `key キー名 = キー名` と書くことで、あるキーを押したときの挙動を変更できます。上の例であれば、`Esc` が押されたときは `半角/全角` が押されたように、`半角/全角` が押されたときは `Esc` が押された動作になります。

    キー名を、キーボードの配列に準じて、図示したものを、Appendix vi キーボード配列定義として、別ページに記載しました。

    また、キー名の調査を行うには、タスクトレイメニュー調査(I)...の「スキャンコードの調査」 のところの四角い白い箱をクリックしてから、調べたいキーを押すことで分かります。`Esc` キーと、`半角/全角` キーを順に押したときのログ ウィンドウには、例えば以下のように表示されているはずです。

    0x01 D-Esc
    0x01 U-Esc
    0x29 D-半角/全角
    0x29 U-半角/全角

    キー名の前の `D-` というのはキーが押された、`U-半角/全角` の `U-` というのはキーが離された、という状態をそれぞれ表します。

    また、直接 日本語キーボードであれば、`109.nodoka` を、あるいは英語キーボードであれば `104.nodoka` でのキー定義( def key文の左辺値 )に、キー入れ替えで用いるキー名が記載されていますので、そちらも御参照ください。

    参照: キー割り当ての変更

    マイクロソフト社のOSを含めた各種アプリケーションのショートカットキー定義も、必要であれば、あらかじめ御確認ください。「のどか」でキー入れ替えを行うと、デフォルトのショートカットキーを無効にすることになります。

  iv. 特定のウィンドウのみでキー割り当てを変更してみる （Vista 64bit や管理者権限のプログラムウィンドウでは正常に動作しないといった制限事項あり）

    つぎに、Internet Explorer でのみ `PageUp`/`PageDown` キーで、`Home`/`End` の動きをさせてみます。`dot.nodoka` の末尾に以下のように追加します。

    window InternetExplorer /iexplore\.exe/ : Global
    key PageUp = Home
    key PageDown = End

    1 行目の、`window キーマップ名 /ウィンドウクラス名/ : 親キーマップ名` は、以降の指定は特定の ウィンドウについてのみ有効とする、という指示です。キーマップ名は分かりやすい適切な名前をつけます。親キーマップ名は Emacs っぽくするなら `EmacsMove` や `EmacsEdit` に、そうでなければ `Global` にすればよいでしょう。

    ウィンドウクラス名を調査するには、タスクトレイメニュー調査(I)...の「ウィンドウの調査」で、調べたいウィンドウやコントロールに をドラッグします。

    Internet Explorer へドラッグすると (途中にさわった全てのウィンドウやコントロールの情報が出るので、他にもいろいろ出るはずですが)、次のような表示が出るはずです。

    CLASS: C:\Program Files\Internet Explorer\iexplore.exe:IEFrame
    TITLE: C:\Program Files\Internet Explorer\iexplore.exe:「のどか 」 - README - Windows Internet Explorer
    Toplevel Window Position/Size: (-4, -4) / (1032x748)
    Desktop Window Position/Size: (0, 0) / (1024x740)

    この `CLASS` の部分から特徴的な文字列を抽出し、正規表現と呼ばれる記法で `/文字列/` のように書けば OK です。正規表現がよくわからない場合には、`\` は `\\`、`.` は `\.` と書くことに注意すればとりあえずあまり問題はないでしょう。

    参照: ウィンドウクラス/タイトル名・正規表現

  v. キーがモディファイヤキーと共に押された場合に置き換えてみる （Vista 64bit や管理者権限のプログラムウィンドウでは正常に動作しないといった制限事項あり）

    つぎに、Internet Explorer での動作をさらに変更して、`Ctrl` + `PageUp`/`PageDown` で、`Home`/`End` を押したように動かしてみます。前章で追加した内容を変更して以下のように書き換えます。(`C-` がキー名の前に追加されました 。`C-は、コントロールキーを指しています。`)

    window InternetExplorer /iexplore\.exe/ : Global
    key C-PageUp = Home
    key C-PageDown = End

    2, 3 行目のキーの指定については、やはりスキャンコードの調査で調べます。`Ctrl` + `PageDown` を入力すると、次のように表示されます。

    0x1d D-LeftControl
    E0-0x51 D-C-PageDown
    E0-0x51 U-C-PageDown
    0x1d U-LeftControl

    1, 4 行目は `Ctrl` キーの押し/離しです。2, 3 行目から、`C-PageDown` が書くべきキー名ということになります。ここの `C-` というのは、`Ctrl` が押されている、というキーの状態を表す記号です。`Ctrl` キー以外にも、`Windows` や `Alt` や `Shift` の状態、また `CapsLock` や `NumLock` などのキーがロック状態にあるかどうかもやはり同様です。これらの特別なキーを、「のどか」では、モディファイヤと呼んでいます。 キー割り当て変更は、このようにモディファイヤを含めて指定することができます。

    逆にいうと、前章までのキー割り当て変更では モディファイヤを何も指定していませんから、 `Ctrl` や `Alt` などが押されていると キーイベントの置き換えを行いません。
    Ctrl 以外のモディファイヤキーについては、下記を ご覧ください。

    参照: モディファイヤの指定

  vi. モディファイヤキーの状態と無関係に置き換えてみる （Vista 64bit や管理者権限のプログラムウィンドウでは正常に動作しないといった制限事項あり）

    先の設定では、`Ctrl` + `Alt` + `PageUp`/`PageDown` と入力した場合、変換されずにそのまま入力されてしまいます。既に説明した通り、これは正しい動作です。(不正確な言い方ですが、モディファイヤが押されていると別のキー名になるので、前章の指定では置き換えが起きない、と理解してください)

    `Alt` が押されているかどうかにかかわらず `Ctrl` + `PageUp`/`PageDown` を `Home`/`End` のように動作させるには、前章の設定を変更して以下のように修正します。
    （説明の都合上、IEを例にしていますが、実際 IE7 では、ALTキーを押しながらは、うまく動きません。IE5,6 あたりでは動作したものと考えます。）

    window InternetExplorer /iexplore\.exe/ : Global
    key *A-C-PageUp = *A-Home
    key *A-C-PageDown = *A-End

    これは、`Alt` が押されているかどうかと無関係(Aの前のアスタリスク記号が、モディファイヤーの無視を示していいます。)に `Ctrl` + `PageUp`/`PageDown` を `Home`/`End` と置き換え、その際に `Alt` の状態は保存したままにする設定です。つまり、`Alt` が押されていなければ前章と同様の置き換えを行い、`Alt` が押されていれば `Ctrl` + `Alt` + `PageUp` を `Alt` + `Home` のように置き換えます。

    これを押し進めると、あらゆるモディファイヤの状態に拘わらずに置き換えをして、かつあらゆるモディファイヤの状態を保存して置き換える、という設定が可能です。具体的には、`PageUp`/`PageDown` を `Home`/`End` と全く同様に使いたいという場合に、以下のような設定ができます。

    window InternetExplorer /iexplore\.exe/ : Global
    key *PageUp = *Home
    key *PageDown = *End

    （説明の都合上、IEを例にしていますが、実際には、単独で、ALTキーを押しながらは、うまく動きません。IE7では、CTRL+ALT+PageUp/Downは、うまく動作します。）

    このようにすれば、あらゆるモディファイヤの状態に関係なく、Internet Explorer での `PageUp`/`PageDown` が `Home`/`End` のように働きます。

    参照: モディファイヤキーの無視・入力されたキーと同じモディファイヤの指定

  vii. モディファイヤになっているキーを置き換える

    キー割り当ての変更の際に、モディファイヤキーを置き換えたり、モディファイヤキーに置き換える場合には、特別な設定が必要になります。

    たとえば、`無変換` キーを左 `Alt` キーとして使用するには、

    keymap Global
    mod alt += 無変換
    key *無変換 = *LeftAlt

    のようになります。3 行目は今まで通りの指定ですが、2 行目のように、`mod モディファイヤ名 += キー名` という指定により、新たにモディファイヤとして`無変換` キーを登録する必要があります。

    逆に、モディファイヤとなっているキーをモディファイヤではないキーに割り当てたい場合は、`mod モディファイヤ名 -= キー名` により、モディファイヤ設定を削除する必要があります。

    たとえば、右 `Windows` キーで IME のオンオフをするには、

    mod windows -= RightWindows
    key RightWindows = $ToggleIME

    のようにする必要があります。ちなみに、`$ToggleIME` というのは、`109.nodoka` または `104.nodoka` のキーシーケンス (keyseq文)で定義されており、109 キーボードならば `A-半角/全角` と定義されているので、Alt キー と 半角/全角キーが押されたことを示しています。

    参照: モディファイヤキー割り当ての変更

    たとえば、109キーボードの場合、左コントロールキーと英数キーを入れ替える場合には、次のようになります。

    mod control += 英数
    key *英数 = LControl
    mod control -= LeftControl
    key *LeftControl = *英数

    104キーボードの場合、英数ではなく、CapsLockキーなので、左コントロールキーとCapsLockキーを入れ替える場合には、次のようになります。

    mod control += CapsLock
    key *CapsLock = LControl
    mod control -= LeftControl
    key *LeftControl = *CapsLock

  viii. より高度な設定

    ここまで読めばもうチュートリアルは卒業です。ここまでの内容が完璧なら、上級者を名乗れるほどのレベルまで来ています。一回で理解するのは難しいかもしれませんが、習うより慣れろで、調査 ウィンドウであれこれ試してみてください。自分好みの設定をあれこれ書き加えていくうちに、上にある各リンクの内容に目を通す必要が出てくるはずですが、そうしているうちにマニュアルの見方にも慣れてくるはずです。

    さらなる機能としては、2 ストロークキーの設定、OneShot モディファイヤ と SandS、Stciky-Shift やWindow操作をはじめとした豊富な関数群、代用定義などがあります。これらは必要な場合のみ目を通せば十分です。

    また、実例として、default.nodoka や default2.nodoka に目を通した り、インストールされるサンプルの設定ファイルを、ご覧になった方が良いでしょう。

７. よくある質問に対する回答　frequently asked questions
  Q1. 「のどか」を使っていると勝手にキーリピートしてしまいます。
  Q2. 「のどか」を終了後に Windows が異常終了します。
  Q3. 「のどか」を使っているといろいろ変になります。

    以前 AltIME を使用していた場合、これらの症状は AltIME が正しくアンインストールされていない時に出ます。

    AltIME 2.27 の README によれば以下のようにするそうですので、そのようにしてください。

    1. AltIME の設定で常駐させているなら一旦常駐のオプションをはずしてください。

       スタートアップで起動しているときはスタートアップから削除してください。

       サウンドを使用している場合は設定を外し、設定を完全に削除してください。

    2. タスクトレイ上のアイコンを左クリックして AltIME のオプションダイアログを表示させ、アンインストールボタンを押してください。

    3. いったん再起動後、`ALTIME*.*` のファイルを削除してください。

    【注意】Windows 2000ではアンインストールボタンを使用せずに `\winnt\system32\drivers\altime.sys` を削除すると Windows が起動できなくなることがあります。
    AltIMEが原因によるものでない場合で、挙動がおかしくなったり、キーボード、マウスが操作不能になったりすることがあるかも知れません。その場合には、最新版を待つ必要があるかもしれません。
    なお、Windows起動処理中に、キーボード入力すると、キーボード、マウスが一切使用不要になる。IE7上で、IME切り替えができなくなるなどの事例も報告されています。
    また、PGPi や nProtect GameGuard との同時動作は出来ません。解決策案としては、バグの項に記載しました。ご覧ください。
    regedit.exeを実行して、レジストリを開き、下記エントリを御確認ください。もし、kbdclass nodokad 以外の名前がある場合には、誤動作する可能性が高くなります。該当するソフトウェアをアンインストールするか、kbdclass nodokad 以外のフィルタドライバをUpperFiltersから取り除くなどの作業が必要となります。
    なお、4.03以降では、インストール時に、このレジストリエントリを確認し、kbdclass nodokad 以外が存在する場合には、ダイアログが表示されます。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96B-E325-11CE-BFC1-08002BE10318}
    UpperFilters
    AltIMEの場合には、このUpperFilters の値が、kbdclass altime になっており、そこに、nodokad が追加され、不具合の原因となります。また猫まねきの場合には、nmkcore が追加されており、同じく不具合の原因となります。
    VMware Workstationの場合には、vmkbd が追加されています。ある程度、共存して動作しますが、ときどきキーボードやマウスが固まると言った不具合が発生するので、vmkbd エントリを削除して、PCを再起動すると安定することが試行錯誤した結果 分かりました。なお、その場合には VMware Workstation側で、キーボードの操作に一部問題が発生するかもしれません。
    vmkbd は、VMware Workstation Version 6.0で確認しましたが、他のバージョンでは異なる名前のドライバのようです。

  Q4. Explorer で、表示(V) を `ALT` + `v` で選べません。(2ch の某スレより)
  Q5. PowerPoint で、`C-x`, `C-c`, `C-v` などでコピー・ペーストできません。

    あなたはおそらく `default.nodoka` を使っています。これを利用するとかなり色々な操作を Emacs 風にされてしまいますので、あなたの Windows 習得度が高かったり、Emacs 習得度が低かったりすると戸惑うことでしょう。`contrib\nodoka-settings.txt` を参考に、自分好みにカスタマイズしてください。

    ちなみに、Windows なんだし `C-z`, `C-x`, `C-c`, `C-v` だけは使いたいという人のために、`ZXCV` というシンボルが定義されています。`-DZXCV` するなり `define ZXCV` すれば、それだけは Windows っぽく動きます。

  Q6. IMEオンのときの「のどか」のキー入れ替えの挙動が妙です。1つめのキー入力以外うまく入れ替えられません。

    IMEオンの状態では `IL-`(IMEオン) ですが、1文字入力した時点でさらに `IC-` （IME変換中）となります。一方で標準のデフォルトモディファイヤは `*IL-~IC-` です。思い通りにキー入れ替えされていないわけではなく、デフォルトモディファイヤの設定に従って入れ替えを行っていない 可能性が考えられます。

  Q7. デフォルトモディファイヤが上記のような設定になっているのはなぜですか。不便です。

    IME変換中のキーバインディングについては IME側の「プロパティ」-「全般」-「設定」でカスタマイズすることを想定しています。むやみにIME変換中のキーバインディングが変更されると、このIMEのカスタマイズがやりにくいのではないかと思います。

    もし不便すぎて我慢できない、という場合には、 `key *IC- =` のようにデフォルトモディファイヤを変更してもいいかもしれません。逆に不便なこともあるかと思いますので、お薦め いたしません。

  Q8.ノートパソコンの `Fn` キーに何か機能を割り当てることはできますか？

    ほとんどのキーボードでは不可能です。

    `Fn` キーを単体で押しても Windows にキーイベントは来ないはずです (スキャンコードの調査で調べられます)。当然ながら、このようなキーに機能を割り当てることはできません。

  Q9. `Caps/英数` を `Ctrl` にしています。`Ctrl` + `Shift` + `x` に機能を割り振っており、正常に動いているのですが、`Caps/英数` + `Shift` + `x` を打っても、何も起きません。なぜですか。

    「のどか」の問題ではなく、あなたの使っているキーボードの問題だと思われます。

    キーボードによっては、特定の3キーの同時押しを認識できないものがあります。スキャンコードの調査で、どんなキーイベントが発生しているかをチェックしてみてください。モディファイヤ2個を押した状態で、3個目のキーを押したときにキーイベントが発生していないようであれば、そのキーボードでは使えないキーの組み合わせということです。

  Q10. スキャンコードの調査で、例えば `Shift` + `↑` を押したときなど、たまに出るはずのない `E0-0x2a` というキーイベントが出るようですが、これは何ですか？

    不明です。このスキャンコードに関する情報をお待ちしております。

  Q11. 右 `Windows` キーを押すと IME のオンオフができるようにしたい。

    mod windows -= RightWindows # ... (1)
    key RightWindows = $ToggleIME

    右 `Windows` キーはモディファイヤキーなので特別扱いされます。したがって普通のキーのように動作するようにするには、`(1)` のようにしてモディファイヤキーとして動作しないようにします。これは `Alt` や `Shift` や `Control` でも同様です。

  Q12. ウィンドウのクラス名の調べ方を教えてください。

    タスクトレイの「のどか」のアイコンでマウスの右ボタンを押して調査(I)...を選びます。

  Q13. アクティブな時にしか見えない窓などの場合、上記の方法では調査できないですが？

    `&WindowIdentify` を使ってください。`default.nodoka` や `default2.nodoka` では `Ctrl` +`Shift` + `D` に割り振ってあります。

  Q14. クラス名やタイトル名が正しくありません。また操作できないプログラムがあります。
    現在のバージョンの制限事項です。下記の場合、キーマップは Global となります。
    ・Windows 2000/XP/Vistaなどの32bit版OSでは、管理者権限で動作しているプログラムのウィンドウは正しく 操作できず、ウィンドウの正しいClass/Title名が取得できません。
    「のどか」を管理者権限で動作させる。あるいは Vista の場合には、ユーザアカウント制御を無効にしてください。
    ただし Windows 2000/XPにおいて、管理者権限でログインしている場合は成功します。
    なお、Internet Explorer 7の保護モードに対応したため、Vista 32bit版OSでは、通常使用時に、保護モードの解除や、ユーザアカウント制御を無効にする必要は無くなりました。
    ・Vista 64bit版OSや、XP 64bit版OSにおける、64bitのプログラムの場合、キーマップはGlobalとなり、正しく操作できません。
  Q15. インストール時には 日本語キー配列の109 キーボードだったのですが、今度 英語キー配列の104 キーボードを購入しました。しかし、タスクトレイメニューの選択(C) ►には 109 しか出てきません。どうすればいいですか。

    インストール時の選択により、以下の表の上 4 つまたは下 4 つが選ばれます。違いは、名前とシンボルのみなので、「設定」ダイアログボックスで適切に設定してください。(`%NODOKA_DIR%` は nodoka をインストールしたディレクトリです)
    また Q17も、ご参照ください。

    名前 | 日本語 109 キーボード (Emacs 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE109;-DUSEdefault`
    名前 | 日本語 109 キーボード (104 風, Emacs 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE109;-DUSEdefault;-DUSE104on109`
    名前 | 日本語 109 キーボード
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE109`
    名前 | 日本語 109 キーボード (104 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE109;-DUSE104on109`
    名前 | 英語 104 キーボード (Emacs 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE104;-DUSEdefault`
    名前 | 英語 104 キーボード (109 風, Emacs 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE104;-DUSEdefault;-DUSE109on104`
    名前 | 英語 104 キーボード
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE104`
    名前 | 英語 104 キーボード (109 風)
    設定ファイル名 | `%NODOKA_DIR%\dot.nodoka`
    シンボル | `-DUSE104;-DUSE109on104`

  Q16. 「のどか」ではマウスイベントを置き換えられないのですか。

    「のどか」および「窓使いの憂鬱」の前身にあたる cmkey ではマウスイベントを置き換えることができましたが、「のどか」および「窓使いの憂鬱」は cmkey とは異なるレイヤーで実現しているの で、置き換えることはできません。

  Q17. 日本語キーボードと英語キーボードを併用したいです。
    設定ファイルのシンボルの選択については、Q15をご覧ください。
    なお利便性のために、シフト-F2キーで、日本語か英語キーボードに、トグルで切り替える設定を、Ver 4.03 以降の dot.nodoka に記述しました。

    # シフト+F2: 日本語キーボード、英語キーボード 切り替えトグル
    if ( USE109 )
    if ( USE104on109 )
    key S-F2 => &IconColor(0) &HelpMessage("Reloaded", "日本語 109 キーボード") &LoadSetting("日本語 109 キーボード")
    else
    key S-F2 => &IconColor(2) &HelpMessage("Reloaded", "日本語 109 キーボード (104 風)") &LoadSetting("日本語 109 キーボード (104 風)")
    endif
    endif
    if ( USE104 )
    if ( USE109on104 )
    key S-F2 => &IconColor(0) &HelpMessage("Reloaded", "英語 104 キーボード") &LoadSetting("英語 104 キーボード")
    else
    key S-F2 => &IconColor(2) &HelpMessage("Reloaded", "英語 104 キーボード (109 風)") &LoadSetting("英語 104 キーボード (109 風)")
    endif
    endif

    日本語キーボードを お使いで、後から英語キーボードを追加した場合、 デバイスドライバを変更せずに、Windowsが認識しているキーボードドライバは、日本語キーボード配列のままとしてください。「のどか」インストール直後は、設定ファイルとして、「日本語109 キーボード」が選択されています。既に、トグルで切り替えるキーアサインは有効です。詳細は、dot.nodoka ファイルを ご覧ください。

    逆に、英語キーボードを お使いで、あとから、日本語キーボードを併用される場合、Windowsとして認識しているキーボードドライバを、 英語キーボードのままににするか、日本語キーボード配列に変更 するか、選択できます。どちらでも「のどか」は使用可能ですが、認識しているキーボードドライバと、設定ウィンドウでのシンボルの設定を合わせる必要があります。
    Windows側の問題で、正しくキーボードドライバが設定されないことがあるので、キーボードドライバの配列の選択を、下記を参照して、正しく設定しなおしてください。
    Vistaの場合。XPの場合。Windows 2000の場合
    PS/2接続の英語キーボードを、お使いで、USB接続のロジクールの日本語キーボードを後から追加する場合、ロジクールのSetPointユーティリティ&ドライバをインストールすると、Windowsの設定は、日本語キーボード配列に変更されます。
    上記URLを参照して、PS/2側の設定は、英語配列に戻して、USE104を指定して、104.nodoka を使用するようにすれば、英語キーボードの方は、PS/2なので問題なくなります。しかし USBの設定の方は、英語配列を強要し、104.nodokaを使用しても、ロジクールのSetPointユーティリティ&ドライバにより、、ロジクールのキーボードの配列は、日本語のままとなります。
    これを回避するには、SetPointユーティリティ&ドライバをインストールしないようにすれば、出来る可能性があります。なお日本語配列のまま使用される場合、SetPointを入れたままでも動作可能なように見えますが、標準のキーボードドライバではないため、本件はユーザ責任で実施されるようお願いいたします。
  Q18. Adobe Acrobat, Adobe Reader の 8.1.xを使用すると Acrobat あるいは Adobe Reader が異常終了します。
    Acrobat側の問題とは完全には言い切れませんが、「のどか」「窓使いの憂鬱」を実行中に、例えば Adobe Reader のメニューから、文書の信頼済み証明書を選択すると、アプリケーションエラーが発生し、異常終了します。本件は「のどか」「窓使いの憂鬱」を実行していなければ発生しません。しかしながら、下記を実施すると改善します。
    Adobe Reader Version 8.0をインストールし、C:\Program Files\Adobe\Reader 8.0\Reader\SPPlugins\ADMPlugin.apl のコピーを取っておいて、8.1.xにアップデイトした後で、コピーしておいた ADMPlugin.aplファイルを、元の場所にコピーしてください。なお、Adobe Reader 7.x, 8.0, 9 では、本件は発生しません。
    Adobe Reader Version 8.0の取得先
    ftp://ftp.adobe.com/pub/adobe/reader/win/8.x/8.0/jpn/AdbeRdr80_ja_JP.exe
    Acrobat 8.1.2 でも同様に、8.0の該当ファイルをコピーすれば、問題が解消した旨、ご報告頂きました。感謝致します。
    「のどか」側での対策案を検討いたしましたが、DllMainでの共有メモリ設定を止めないと解消せず、共有メモリは複数ユーザで動的に取得しているために、修正困難であり、断念しました。
８. カスタマイズ　customize

  設定ファイルのカスタマイズ手法について。

９. セキュリティ　security

  他人が使用する可能性のある PC へ「のどか」をインストールしてはいけません。

  「のどか」はドライバを使用してキーボードに入力されたキーを認識しますが、そのドライバへは全てのユーザーがアクセスできます。ですから、他人のキーボード入力を読み取る プログラムを作り、動作させることが可能です。

  例えば、ログイン画面での他人のパスワードを得ることも、そのようなプログラムを作成することで可能になります。

１０. バグ　bugs
  - [仕様] コマンドプロンプトではロックキーとIMEの状態を区別することができません。また、コマンドプロンプトのプロパティに対しては無力です。
  - [仕様] PGPi を利用しているとうまく動きません。GnuPGを お使いください。
  - [仕様] nProtect GameGuard とは同時動作できません。ただし同梱した nshell.exe を用いて「のどか」を自動終了/自動起動させて使うことは可能です。お試しください。`nshell.exeの解説テキスト`
  - [仕様] kbdclass nodokad以外のフィルタドライバがインストールされていると、キーボードやマウスが固まるといった不具合が発生しやすいです。FAQの項をごらん頂き、レジストリを御確認ください。 なお、setup 時に確認するようにしています。
  - [制限事項] Windows 2000/XP/Vistaなどの32bit版OSで、管理者権限で動作しているプログラムのウィンドウは正しく取得できません。(2000/XPにおいて管理者権限でログインしている場合 や、Vistaにおいて、ユーザーアカウント制御を無効にするか、「のどか」を管理者権限で動作させている場合を除く。)　さらにXP 64bit版やVista 64bit版OSでは、64bitのプログラムのウィンドウが正しく操作できません。キーマップは Global のものとなります。
  - [バグ] カナロックON/OFFを使用して、キーマップを切り替える機能において、IMEの和英混在入力時にキーマップ切り替えがずれ ます。
  - USB キーボードデバイス接続後に英語101 キーボード配列にな ることがあるので、リンク先を参照して修復してください。なお、これはWindows側の不具合です。Vistaの場合。XPの場合。Windows 2000の場合

  上記以外で、Windows XP 32bit上で、管理者権限ユーザでログインして、お使いの場合で、「窓使いの憂鬱」Version 3.30 では出来たけれども、「のどか」では出来なくなっていることがありましたら、随時、掲示板等で、ご連絡ください。4.00.0や4.01で、仕様変更した部位もありますが、それは改版履歴をごらん頂き、それ以外であれば、「のどか」リリース時の、Vista対応や64bit対応において、未確認の作りこんでしまったデグレードバグの可能性があります。その場合には、誠意を持って可能な限り対応いたします。

１１. 参考事例　related work

  以下のソフトと同時には使わないようにしてください。サポートできません。それぞれサポートしているOSやキーボードの種類が異なったり、「のどか」と同時に使えるものや、使えないものもありますので、ご自身の ご理解に応じて ご利用ください。

  AutoHotkey
    スクリプトを書くことでキーボードなどにさまざまな動作を割り当てることができます。
  猫まねき
    「窓使いの憂鬱」の方がカスタマイズの自由度は高いのですが、猫まねきには GUI がついていて初心者にもやさしいかもしれません。 「窓使いの憂鬱」にない機能も存在します。フリーウェア。
  RemapKey （Windows Server 2003 Resource Kit Tools: Remapkey.exe）
    キーボードのキーを別のキーへ入れ替えることができるソフトです。RemapKey ではログイン画面でのキーを変更することができます。
  MetaX
    コンセプト的に「窓使いの憂鬱」「cmkey」と非常によく似ていますが、より Emacs 的な設定ファイルを書き、ミニバッファを利用した補完などが可能です。
  Xkeymacs
    Windows 上の全てのアプリケーションにおいて Emacs like な操作性を実現するためのキーボードユーティリィティです。Emacs like な操作性にしたいが、 設定ファイルを書くのは面倒という人にお勧めです。
  AltIME /AppleK / AppleKbWin / CraftKeytrans / Ctrl2Cap / dvorak kr, swap2k / Easy Punch / IME Start / Key Bat / Keylay
  / Keymacs / Keymacs+(dead link) / KeySwap / Max Min Keyboard / Microsoft Keyboard Layout Creator / ねこぽい / 秀CAPS / 姫踊子草
    キーボードによる操作を改善しようとさまざまなソフトが開発されています。
１２. リファレンス　references

  気になる文章へのリンク。 下記は、いずれもオリジナルの「窓使いの憂鬱」に言及されたものです。「のどか」に関するもので、ここに載せたい場合には、ご連絡ください。

  繭使いの憂鬱
    「窓使いの憂鬱」のチュートリアルにおける 分かりにくい個所などを 分かり易く解説してあります。
  Giraffe+ software index
    `FUNCTION` `&PlugIn` に利用できるプラグインが配布されています。そもそもプラグインの機能は Giraffe+ さんにより実装されました。
    公開されているプラグインのうち、Giraffe+が常駐してる環境でGiraffeスクリプトを実行する「Giraffe」の「のどか」対応版は、こちらで 配布しています。
  mayu-plugins -- 窓使いの憂鬱用プラグイン
    window-select, migemo-isearch, ie-migemo-search といったプラグインが配布されています。このうち、ウィンドウの選択を行えるようにする window-selectに関しては、「のどか」対応版を、こちらで配布しています。
  窓使いの憂鬱用プラグイン
    検索プラグイン searchit が配布されています。「のどか」対応版を、こちらで配布しています。
  雑記帖
    mayu-mode.el が配布されています。 「のどか」では nodoka-mode.elに改名しています。
  Commutative Field in GeoCities
    tron配列設定ファイルなどがあります。
  「窓使いの憂鬱」を使って T-Code 入力してみる
    T-Code 用設定ファイルなどが配布されています。
  いろいろな仮名入力方法 (dead link)
    いろいろな仮名入力方法の「窓使いの憂鬱」用設定ファイルがあります。
  Vector: 新着ソフトレビュー
    Vector の 新着ソフトレビューで 「窓使いの憂鬱」が紹介されたもの (2005/4/27)
  窓の杜: NEWS
    窓の杜の NEWS で 「のどか」が紹介されたもの (2008/8/4)
１３. 著作権表示　copyright
  「繭(まゆ)」Version 4.00.0、「のどか」Version 4.01以降

    Copyright (C) 2008, applet <applet@bp.iij4u.or.jp> All rights reserved.
    ライセンスは、CPL(Common Public License)です。詳細は Common_Public_License_1_0.txt を、ご覧ください。Common_Public_License_1_0_JP.txt は、日本語参考訳です。

  窓使いの憂鬱 Version 3.30以前

    Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
    All rights reserved.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
    2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
    3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  Boost.Regex

    Copyright (c) 1998-2003 Dr John Maddock

    Boost Software License - Version 1.0 - August 17th, 2003

    Permission is hereby granted, free of charge, to any person or organization obtaining a copy of the software and accompanying documentation covered by this license (the "Software") to use, reproduce, display, distribute, execute, and transmit the Software, and to prepare derivative works of the Software, and to permit third-parties to whom the Software is furnished to do so, all subject to the following:

    The copyright notices in the Software and this entire statement, including the above license grant, this restriction and the following disclaimer, must be included in all copies of the Software, in whole or in part, and all derivative works of the Software, unless such copies or derivative works are solely in the form of machine-executable object code generated by a source language processor.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

１４. サポート　support
  「のどか」ホームページ

    http://appletkan.com/ Version 4.00.0以降では、http://sourceforge.net/projects/mayu/ でのサポートではありませんので、決して そちらに お問い合わせすることが無いよう よろしくお願いいたします。掲示板にて、ユーザサポートを実施しています。 正式版購入者には、最新版のリリースなどの御案内を メールで 差し上げています。なお、Vector のシェアレジでご購入された場合、連絡先が不明なので、メールアドレスを御連絡ください。ソースコードは、Common Public License で http://sourceforge.jp/projects/nodoka4/ にて公開しています。また、はてな にて開発日記を付けて 、開発状況や、のどかの使用例などを書いたりしています。

  「窓使いの憂鬱」2ch スレ

    2ch のスレ 窓使いの憂鬱 7 , 窓使いの憂鬱 8 では、ユーザ間の情報交換がなされています。派生版である「のどか」にも関係ある情報があるかも知れないので、作者も時々見ています。

１５. 謝辞　acknowledgements

  初めに、偉大かつ手放すことができない「窓使いの憂鬱」をリリースされ、長年に渡り、開発サポートを続けられた TAGA Nayuta さん。大変ありがとうございます。
  ご本人には直接、派生版を出す話を大変失礼ながら、メールでさせていただきました。特に反対されるわけでなく、好意的にBlogでも御案内頂き、重ねて どうもありがとうございます。
  4.00.0 の致命的なバグである すべてのウィンドウのCLASS/TITLE名が、正しく認識できない問題を発見してくださった、2chでのスレッドの方々、大変ありがとうございます。 また「繭(まゆ)」という名称だと、区別が付かない。それに伴い「窓使いの憂鬱」作者への問い合わせなどの御迷惑をかける危険性や、後継/派生の別、シェアウェアの是非、ソースコード公開の是非、署名付きドライバの御要求、ドキュメントの不備など、御議論、御指摘、痛み入ります。また、設定ファイルのデフォルト名を変更した結果、 窓使いの憂鬱の設定ファイルが、そのままでは読み込まれず、うまく動かなかったので、大変申し訳ありませんでした。
  上記に対して、配慮が足りない箇所がたくさんあったと反省しております。以下は決して御満足頂ける回答ではないと思いますが、下記のように進めています。
  ・お約束はできませんが、署名付きドライバに関しては、いずれ取得したいと考えています。現在、個人では取得することができず、やむなく署名無しで公開しました。しかしシェアウェアとしたことで、その実現可能性を高めた形で進めさせてください。 予定では概要にも書いたように、2009/9頃を想定しています。
  ・ソースコードは、Common Public License で http://sourceforge.jp/projects/nodoka4/ にて公開しています。

  ・Vista向けの 3.30.1ソースを作成され、2chでのスレッドで公開してくださった無名の方、大変ありがとうございます。

  ・「のどか」をダウンロードして、動かしてみた方々、大変ありがとうございます。また、シェアウェアに御賛同頂き、正式版を御購入いただいた方々、大変どうもありがとうございます。

  以下は、Version 3.30まで公開された「窓使いの憂鬱」作者であるTAGA Nayuta 氏からの謝辞となります。

  Windows9x/XP 用のドライバを作成してくださった小林義明さん、ありがとうございます。

  最も身近なユーザーであり、数多くの助言をしてくれた塙与志夫さんに感謝します。何より彼の粘り強い要求は怠惰な作者に新規リリースへの活力を与えてくれました。

  河部修和さん、KANAI Makoto さん、HAJANO Naòqui さんには設定ファイルを提供していただきました。お礼を申し上げます。

  Hosaka Yuji さんには、マルチモニタ対応パッチをいただきました。ありがとうございます。

  「窓使いの憂鬱」はたくさんの人の貢献の上に成り立っています。ここに名前を挙げていない方にも心から感謝します。

１６. 改版履歴　history
  2008/11/23 4.06
    セットアップ直後のデフォルト状態で、動作に影響がある変更については、赤字で記載しました。ご注意ください。
    1) 機能追加
    ・ 4.05 にて追加した &SendMessage を廃止し、&SendPostMessage() として、任意のウィンドウにSend/PostMessageによるウィンドウメッセージを送る機能を追加。 (お試し版であり、仕様は変更されることがあります。)
    ・ &SendPostMessage() の引数に PostTray を指定して、通知領域（タスクトレイ）上のアイコンに対し、ウィンドウメッセージを送る機能を追加。 Vista x64, XP x64ではアイコンを探せず失敗します。(お試し版であり、仕様は変更されることがあります。)
    また、アイコンがない場合には、指定した実行ファイルを起動する機能も備えた。
    ・ 設定ウィンドウにおいて、新規の設定ファイルが指定され、ファイル編集ボタンが押された場合、空の設定ファイルを開けるようにした。なお、環境変数 HOME, USERPROFILE, HOMEDRIVE\HOMEPATH のいずれも設定されていない場合にはエラーとなる。
    ・ また、設定ウィンドウを、通知領域(タスクトレイ)上の「のどか」アイコンを中ボタンクリックで、開くようにし、設定ウィンドウに、設定ファイルの「再読み込み(R)」ボタンを追加した。
    2) 修正
    ・ 設定ウィンドウにおいて、設定ファイル名をパスなしのファイル名だけで記述した場合、ロードに失敗していたため、正しく環境変数を参照するよう修正。
    ・ Windows SDK 6.1 Win32.mak cdebugオプションの不具合修正漏れを正して、ビルドし直し、バイナリサイズを改善しました。-DDEBUGを -DNDEBUGにはしていたのですが、それ以外のオプションも誤っていることに気が付いていませんでした。大変申し訳ありません。
    cdebug = -Zi -Od -DNDEBUG -> cdebug = -Ox -DNDEBUG
    nodoka.exe 614KB -> 507KB
    nodoka.dll 100KB -> 92KB
    ・ ログウィンドウにおいて、フォントの変更を指示した際、その場で更新し、再描画されるようにした。以前は、「のどか」の再起動が必要であった。
    ・ 設定ファイル dot.nodoka のファイルタイプ名を nodoka file から 空白を取り除いて nodokafile とした。その結果、コマンドプロンプトから assoc .nodoka[Enter] として得られたファイルタイプ名を用いて ftype nodokafile[Enter]で、設定ファイルを開く際に関連付けられているエディタのフルパスが正しく参照できるようになった。
    なおアンインストール後に、不要な mayu file や nodoka file のエントリがレジストリに残っていたため、削除するようにした。
    ・ contrib\nodoka-settings.txt 4.05にてメモ帳の記述を復活させたが、このファイルには反映していなかったので修正。
    ・ ヘルプにアンインストール失敗時に実施すべき内容を示すコラムを追加
    ・ ヘルプに 2chのスレ「窓使いの憂鬱 8」 へのリンク追加
    ・ キーボード配列定義を図示し 、Appendix に追加した。 図の pdfファイル。
  2008/10/28 4.05
    セットアップ直後のデフォルト状態で、動作に影響がある変更については、赤字で記載しました。ご注意ください。
    1) 機能追加
    ・$NodokaVal 引数置換 (お試し版であり、仕様は変更されることがあります。)
    - &ShellExecute にて指定する実行ファイルの引数に $NodokaVal を指定することで、実行ファイルに、$Clipboard, $WindowClassName, $WindowTitleName の展開した文字列を引数として渡せるようにした。
    ・&SendMessage 任意のウィンドウにメッセージを送る機能 (お試し版であり、仕様は変更されることがあります。)
    - &PostMessage とは異なり、任意のウィンドウクラス名に対して、メッセージを送る機能。
    2) 修正
    ・起動時の c0000005(アクセス違反)の解消 (のどか 4.02 からの潜在バグ)
    起動時に、c0000005(アクセス違反)エラーが発生して、起動失敗することがあったが、nodoka.dll での不具合であったため修正した。
    ・起動時に 操作不能になったり、シフトキーが押されたままになったりすることを解消するワークアラウンド追加 (窓使いの憂鬱の潜在不具合)
    起動時に、internal error: m_currentKeymap == NULL がログ上に残っているケースは、起動時にキーボード操作をする前に、手動のワークアラウンドとして、デスクトップをマウスでクリックすればよいことが知られていたが、コード上で、デスクトップに一旦フォーカスを当てるワークアラウンドを入れた。
    ・非公開関数 &SetForegroundWindow(/ウィンドウクラス名/) のワークアラウンド強化 (窓使いの憂鬱からの潜在機能)
    指定したウィンドウを強制的に、前面に出すことが可能であるが、ときどきキーバインド変更操作 不可(開発日誌参照)となるため、非公開のまま。
    ・setup の OK、キャンセルボタンを、キーボード選択のコンボボックスから距離を取った。
    誤ってキャンセルボタンを押すことがあったため。
    ・設定ファイル、ヘルプファイルの修正 (掲示板にて御指摘頂いたもの。深謝致します。)
    - default2.nodoka において、4.04 で削ったメモ帳への Emacsキーバインディングを復活。
    ヘルプに default2.nodoka から default.nodoka への変更方法の記述追加。
    - nodoka-mode.el に 4.04で追加した IconColor の記述が漏れていたので追加。
    - syntax.txt の、BASIC TYPE <number> において、octalなのに 9までになっていたので 7までに修正 /[-+]?0[0-7]+/ # octal
    - CUSTOMIZE-ja.html の 8. カスタマイズ キー割り当ての変更 モディファイヤの指定において、Windowsキーへの言及が無かったので追加。
    - readme-us.txt を readme-en.txt にファイル名を変更し、日本語がまだ残っていたので削除した。
    - CONTENTS-en.html, CUSTOMIZE-en.html, MANUAL-en.html, README-en.html もファイル名を -us.html から -en.html に変更した。
    - Common_Public_License_1_0_JP.txt において、行末にスペースが入っていたので削除した。
    - Vectorシェアレジで購入可能になったので、シェアレジ番号を readme.txt や ヘルプ に記載。
  2008/09/27 4.04
    セットアップ直後のデフォルト状態で、動作に影響がある変更については、赤字で記載しました。ご注意ください。
    1) 機能追加
    ・通知領域
    - アイコンのツールチップ表示にバージョン番号を追加。
    - 起動時のコマンドライン引数に 0(デフォルト),1から7の数字を指定してアイコンの色を変更可能とした。
    また、&IconColor() 関数を追加し、アイコンの色を変更可能とした。
    ・設定ウィンドウ
    - 設定ウィンドウにファイル編集というボタンを追加し、設定ファイルを編集可能とした。
    ただし、Vistaにおいて、VirtualStoreに nodokaフォルダが有る場合は、設定ファイルを開かずに、そのフォルダを開けるようにした。その場合、VirtualStoreのnodokaフォルダを削除しない限り、設定ファイルを開くことは出来ない。
    - ホームディレクトリ設定の場合、デフォルトの設定ファイルを、ホームディレクトリにコピー可能とした。
    2) 機能変更
    ・2重起動となったときに、エラーダイアログを表示しないようにした。なお、引数がある場合には、指定のアイコン色に変更される。
    ・設定ファイルの検索の際、以前までは、HOME, HOMEDRIVE\HOMEPATH, USERPROFILE の順であったが、HOME, USERPROFILE, HOMEDRIVE\HOMEPATH の順に変更した。変更した理由は、HOMEDRIVE\HOMEPATH が Windows 2000 のデフォルトでは c:\ になっており、適切に感じられないためである。なお、XP, Vistaでは、HOMEDRIVE\HOMEPATH と USERPROFILE は同じ値となるため、この変更による影響は少ないと考える。
    ・default2.nodoka の記述から、さらに Windowの操作などを削った。オリジナルは default.nodoka なので、そちらを参照してください。
    ・dot.nodoka に USE104 の場合でも、Shift-F2 で、日本語キー配列と英語キー配列をトグルで切り替える記述を追加し、&IconColor()も使用してみた。
    3) 修正
    ・ユーザ名に、漢字が含まれていると設定ファイルが読み込まれないことがあったので、修正した。
    ・109.nodoka, 104on109.nodoka も 英語Windows環境ではエラーになることが判明したため UTF-16 LE BOM有りに変更した。
    ・日本語配列キーボード使用時に、英語用デバイスドライバをインストールして、109on104.nodokaを用いて、日本語配列を使用する際、押せないキー(¥[])があったので、109on104.nodokaに記述を追加した。なお 英数、無変換、変換、かなキーが正しく動作しないのは、そのままである。
    ・起動時にアイコンが表示されないという報告があったため、リトライ中のSleep 時間を1秒から2秒に変更した。
    ・初めて起動した際、選択されている設定を、設定ファイル名リストの上から2番目の Emacs風 から、下から2番目の通常のものに変更し、初心者に配慮した。
    4) ヘルプ記述の追加/修正
  ・Giraffe、window-select、serarchit といった著名な「窓使いの憂鬱」用プラグインの「のどか」対応版について、リファレンスの項にて紹介。
  ・窓使いの憂鬱からの移行方法、VistaにおけるVirtualStoreについて、設定ファイル自動コピー機能追加に伴うチュートリアルの記述変更、設定ウィンドウからの設定ファイル のホームディレクトリへのコピー先の決め方などについて、記述を追加。
  ・日本語/英語キー配列変更に関して、ロジクールの日本語キーボードの挙動を FAQ Q17に追加。
  ・SandS、Sticky-Shift に関する記述追加。
  ・英語環境で実行している場合、ヘルプファイルは、README-us.html を開くが、その場で、Googleの翻訳エンジンを用いて、Web上の helpファイルを開くようにした。ただし、翻訳文の精度は期待できず、誤った文章となっています。
  2008/09/03 4.03
    セットアップ直後のデフォルト状態で、動作に影響がある変更については、赤字で記載しました。ご注意ください。
    1) 機能追加

    i) ヘルパーアプリ

      nshell.exe を同梱し、「のどか」の自動終了/自動起動させることを実現し、特定のアプリにおいて、同時起動時に不都合が発生する状態を軽減できるようにした。
      外部アプリなので、「窓使いの憂鬱」も非サポートながら操作可能。nshell.exe に関する解説

    ii) nodoka.exe ログウィンドウ関連

      ・起動直後の最初のログウィンドウ表示は、モニタ画面の真ん中に表示されるようにした。
      ・通知領域の「のどか」のアイコン左ボタンクリックで、ログウィンドウが開くようにした。ちなみに左ボタンダブルクリックだと調査/ログウィンドウが開く。
      ・ログウィンドウに設定ファイルの再読み込みボタン追加。

    iii) 設定ファイル 日本語キーボードと英語キーボードの併用サポート

      キーを押して設定ファイルを読み込み直せる記述を dot.nodoka に追加した。FAQ17の項をご覧ください。
    2) 修正 (3.30.1以前から潜在していた不具合の修正を含みます。)

    i) setup

      ・英語環境でインストールした場合、セットアップのダイアログが縦に短いので、日本語環境と同じ長さに修正し、同時に日本語のままになっていた注意書きを 英文へ修正。
      ・setup 時に、レジストリエントリ確認処理を付けて、他のフィルタドライバが入っている場合に注意を促すようにした。
      ・Vista 64bit/XP 64bitで上書きインストールを可能にした。
      ・上書きインストール失敗時に、次回 Windows 起動時に、不要な起動となるので、スタートメニューからショートカットを削除するようにした。
      ・アンインストール時に Vista64bit/XP64bit でショートカット削除に失敗していたが できるようにした。
      ただし、4.02以前を お使いだった場合、ショートカット名称に空白が付いており、全ての OS において、上書きインストール時に、ショートカットが残る不具合があり、手作業で削除する必要があります。
      ・setup 失敗時に、ドライバのレジストリエントリ削除処理を追加。setup 失敗して、再起動せよと言われて、その通りにするとドライバファイルが無いのでキーボード使用不可となるため。
      ・Windows 2000 において setup 終了時に iexpress に起因するエラーが発生していたが解消させた。
      ・setup 作成時に、UTF-16に変更した default.nodoka, default2.nodoka の改行コードを変更し、結果的に壊していたので、改行コードを変更せずに、最初から設定ファイルの改行コードを CRLF とした。

    ii) nodoka.exe

      ・設定ファイルが UNICODE 16(UTF-16)だった場合、BOM コードを誤って解釈して、エラーを発生させていたため、読み飛ばすよう修正した。
      ・英語環境でインストールした場合、ログウィンドウが縦に長いので、日本語環境と同じ長さに修正。

    iii) nodoka.dll

      ・DllMain() において、User32のコードを呼ぶ際、User32.dllのハンドルを確認して、呼ばないようにすることで、DirectX 全画面アプリ終了時の異常終了対策とした。
      本来は User32 API の実装は許されていない。なお、現象を手元では起こせていないので、本件は継続監視が必要であるが、バグの項からは取り除いた。

    iv) 設定ファイル

      ・default.nodoka の文字コードを S-JIS から UTF-16 LE BOM有り に変更した。英語版環境で default.nodoka を読み込んだ際 エラーにならないようになった。
      ・default2.nodoka (UTF-16 LE BOM有り) を追加し、dot.nodoka から呼ばれるデフォルトとしては、こちらを使うようにした。
      元の default.nodoka には、いろんなアプリ用の定義が入っており、知らない設定が入っている可能性があるため。削ったものを default2.nodoka とした。
      ・エラーダイアログの文言が「りモートデスクトップ」になっているという報告があったので「リモートデスクトップ」に修正した。
    3) ヘルプ記述の追加/修正
      ・Adobe Acrobat/ Adobe Reader 8.12 を「のどか」「窓使いの憂鬱」のどちらであっても、異常終了させることがあるため、解決策をFAQ18に提示。
      ・Vista では、Program Files\nodoka の下の設定ファイルを通常権限で編集しても反映されない旨、チュートリアルに記載。
  2008/08/10 4.02
    nodoka.exe, nodoka.dll
    Vista 32bit版OSにおいて
    IE7 保護モードに対応し、ウィンドウのClass/Title名が正しく取得できるように修正し、キーマップがGlobal固定になる問題に対応しました。
    また管理者権限で「のどか」を動作させた場合、管理者権限動作プログラムと、通常権限動作プログラムの両方の操作が可能となりました。
    これらの修正により、整合性レベルに関する不具合は、バグから制限事項に状態を変更しました。
  2008/08/02 4.01
    プログラム名称 ならびに ライセンス
    4.00.0 において、「窓使いの憂鬱」という名称を、「繭」「MAYU」に変更し、本ヘルプ上は「繭(まゆ)」と記載しました 。しかし、この「繭」という名称は以前の「窓使いの憂鬱」プログラムの愛称、呼称でもありました。その結果、サポート開発主体が異なるのに、以前の「窓使いの憂鬱」作者に対し、「繭(まゆ)」の問い合わせが、行われてしまう危険性があり、配慮が全く足りず、大変申し訳ありませんした。
    そこで、プログラム名称を「のどか」「NODOKA」に変更し、本ヘルプ上も、そのように変更いたしました。なおバージョン番号は、4.00.1ではなく、4.01としました。
    また、設定ファイル名の拡張子は、.nodoka に変更し、ファイル名称で、mayu というキーワードが入っているものは、すべて nodoka に変更しました。例えば nodoka.exe, nodoka.dll, nodokad.sys などです。設定ファイル拡張子名称を変更したために、.mayu が付いたファイルはデフォルトでは、読まれなくなっています、大変申し訳ありません。
    なお、4.00.0以降では、http://sourceforge.net/projects/mayu/ でのサポートではありませんので、決して、そちらに お問い合わせすることが無いよう よろしくお願いいたします。
    また、4.00.0では、ソースコード非公開をうたっていましたが、4.01以降、ソースコードは、Common Public License で http://sourceforge.jp/projects/nodoka4/ にて公開予定です。バックドアが無いことを早く御確認されたい場合には、ご連絡ください。別途対応させて頂きます。
    mayu.dll 改め nodoka.dll
    4.00.0 において、Direct X 全画面プログラム終了時に、Windowsが不正終了することを軽減するために、mayu.dll の DllMain から User32 コードを、一部移動させた修正を実施していたのですが、mayu.dll から mayu.exe に対し、正しいデータを渡すことに失敗していることが判明したため、コードを元に戻し 、DirectX全画面の件は、バグの項に記載しました。
    このデグレードのために、ウィンドウの調査を実施するなどの際、すべてのウィンドウ の CLASS/TITLE名が正しく取得できず、常時Globalのキーマップしか使えないという問題が発生していましたが、3.30.1と同等程度まで解決しました。
    このウィンドウの調査の動作確認時において、次にあげる制限事項が明らかになりました。Windows 2000/XP/Vistaなどの32bit版OSでも、管理者権限で動作しているプログラムのウィンドウは正しく取得できません。ただし、Windows 2000/XP において、管理者権限でログインしている場合は成功します。またXP 64bit版やVista 64bit版OSでは、加えて64bitのプログラムのウィンドウが正しく取得できません。また、Vista 32/64bit版ともに、Internet Explorer のウィンドウは、「のどか」のヘルプとして表示すると、取得できるケースもありますが、スタートメニューから起動した場合、取得できません。IE以外にも取得できないプログラムのウィンドウは存在すると考えます。これらのウィンドウが取得できない場合、キーマップは Global のものとなります。なおバグとしたのは、仕様では無いために、いずれ修正する意思を示すものです。
    また、動作確認時に、4.00.0でのカナロックの問題の修正も完全ではないことが判明したため、バグの項に記載しました。
    ヘルプ
    本ヘルプファイルのトップには、「窓使いの憂鬱」の作者であるTAGA Nayuta 氏の著作権表示を記載していましたが、誤った問い合わせが行き、迷惑をかけることを避けるために、削除しました。それ以外の他意はありません。
    4.00.0 において、設定ファイルのデフォルト名を .mayu から dot.mayu に変更した結果、以前から .mayuファイルを設定ファイルとして用いていた場合、「のどか」をインストールしても、設定ファイルが読み込まれないという不具合がありました。そこで、 本ヘルプのインストールの項に、1行追加して、.mayu から dot.nodoka にファイル名を変更して頂くよう、注意を促すこととしました。
    また、謝辞の項を見直しました。シェアウェア/ソースコード公開にも触れました。
    その他
    Function で mayu のキーワードが入っていた &MayuDialog は&NodokaDialog に変更しました。 設定ファイルで、&MayuDialog を使用している箇所があれば修正が必要です。
    またプラグインにおいて、プラグインDLL内の関数名の一覧において、mayuFUNCNAME[/W/A//] は、すべて nodokaFUNCNAME[/W/A//] に変更しました。
  2008/07/20 4.00.0(Globalのキーマップしか使えないことが確認されたため、2008/07/25に公開中止)
    2007/1に開発終了がアナウンスされ、Vista対応の道が閉ざされていましたが、BSDライセンスであ り、ソースが公開されていたことや、2chのスレッドで、Vista IE7と64bit対応パッチが公開されたことなどから、ユーザの立場でしたが、少しずつ手を入れて、このたび、派生品として、リリースすることにしました。既存の http://sourceforge.net/projects/mayu/ でのサポートではありませんので、お間違えのないよう、よろしくお願いいたします。なお、不具合が皆無とは言えないので、ご了承ください。

    プログラム名称
      - 「窓使いの憂鬱」「MADO TSUKAI NO YUUTSU」表記を、すべて「繭」「MAYU」に変更しました。なお、本ヘルプ上では「繭(まゆ)」で統一し、また履歴や謝辞の過去のバージョンを指す部位はそのままです。
    mayu.exe, mayu.dll
      - シェアウェア化しました。試用版では起動後30分で、自動的に終了します。正式版（税込み1800円）は、http://appletkan.com/ で購入可能です。
      - セキュリティの観点からソースコードを公開しないために、build の項をマニュアルから削除しました。
      - .mayuファイルではなく、dot.mayuファイルをデフォルトのファイルとして扱うことにし、マニュアルでは、環境変数HOMEからHOMEPATHを扱うよう修正しました。
      - Direct X 全画面プログラム終了時に、Windowsが不正終了することを軽減するため、mayu.dllの DllMainから User32コードを一部、移動させました。
      - カナロックON/OFFを使用して、キーマップを切り替える機能において、IMEの和英混在入力時にキーマップ切り替えがずれる問題に対応。
    デバイスドライバ
      - セキュリティ上の観点から、他のアプリケーションから操作できないようデバイスネームを変更しました。
      - mayu-3.30.1 patchのデバイスドライバ64bit OS対応では、起動できるもののブルースクリーンになることがあったため、修正しました。
      - タッチパッドサポートのため、USE_TOUCHPAD を定義して buildしました。
      - 署名付きドライバとなるよう取得にトライしましたが、現在、個人向けにはGlobalsignでも入手できず、断念しました。
    インストーラ
      - タッチパッドサポートのため、インストールフォルダに ts4mayuフォルダを作成しました。
        そこには、cts4mayu.dll, sts4mayu.dll, thumbsense.mayu がコピーされます。
      - 復旧用の64bit OS対応デバイスドライバがコピーされるようにしました。
    3.30.1mayu-3.30.1 patch 2chのスレで案内があったもの
      - Vista IE7 異常終了対応。
      - デバイスドライバの64bit OS対応。XP 64bit, Vista 64bit Editionでの動作可能レベル。
      - インストール時の64bit OS対応。
    3.30公開以降、http://sourceforge.net/projects/mayu/ で公開されていた下記の修正、機能追加を盛り込みました。なお、全てでは ありません。
      - Windows XP以降 の「ユーザーの切り替え」機能に対応。
      - タッチパッド（Synaptics , Cirque GlidePoint ）のサポートと、タッチパッド用のモディファイヤ `T-,``TS-` サポート
      - デバイスドライバにおけるカーネルクラッシュの低減。
      - security という章を追加。
      - boost::regex のスタイル統一

  以下は、「のどか」の派生元となったオリジナルである「窓使いの憂鬱」の改版履歴となります。

  2005/04/18 3.30
    モディファイヤ
      - カナロックを表すモディファイヤ `KL-` を追加。オプション (KL-)をよく読むこと。
      - モディファイヤ `MAX-, MIN-, MMAX-, MMIN-` を追加。(Thanks to 小林)
      - Java アプリケーションなどで `IL-` が検出されないことがあるバグを修正。
      - キーリピート有 One Shot (`!!!`) のキーリピートが始まるまでの時間を オプション (delay-of !!!) で指定できるようにした。
    `FUNCTION`
      - `FUNCTION` `&LoadSetting` などで、設定ファイルをロードした時に、ログにロードしたことが表示されるようにした。
      - `FUNCTION` `&Prefix` の説明を正しく修正。
      - `FUNCTION` `&SetImeStatus` を追加。(Thanks to 小林)
      - `FUNCTION` `&SetImeString` を追加。(Thanks to 小林)
      - `FUNCTION` `&ShellExecute` が失敗した時のエラーメッセージが表示されないことがあるバグを修正。
      - `FUNCTION` `&VK` で入力できるマウスボタンに XBUTTON1 と XBUTTON2 を追加。他、さまざまな仮想キーを追加。
      - `FUNCTION` `&WindowMonitor` を追加。(Thanks to Hosaka Yuji)
      - `FUNCTION` `&WindowMonitorTo` を追加。(Thanks to Hosaka Yuji)
      - `FUNCTION` の引数置換機能を追加。(Thanks to 小林)
      - 既存 `FUNCTION` のマルチモニタ対応。(Thanks to Hosaka Yuji)
    マニュアル
      - acknowledgements 更新。
      - related work を更新。
      - references を更新。
    ビルド
      - Windows9x/Me/NT4.0 非対応になりました。
      - Borland C++ 5.5.1 でビルド不可能になりました。
      - Visual C++ Toolkit 2003 でビルドするための様々な注意事項を記載。(Thanks to 小林)
    ドライバ
      - 2000/XP 用ドライバの SMP/HT 対応。(Thanks to 小林)
      - 2000/XP 用ドライバの PS/2 専用版と USB 対応版のバイナリ統合。(Thanks to 小林)
      - 復旧用ドライバを追加。(Thanks to 小林)
    その他
      - WindowsXP の「ユーザーの切り替え」機能に対応。
      - ごくたまに、タスクトレイのアイコンが表示されない問題を修正したつもり。また、表示されていないときに、もう一度起動すればアイコンがタスクレイに表示されるようにした。(「既に窓使いの憂鬱は動作中です」というダイアログボックスが出ると同時にアイコンが表示されます)
      - ログを消去した時刻をログ表示するようにした。
      - `109.mayu` に MultiMedia Keyboard 用の特殊キーなどを追加。
      - スナップショット版で「↑↓←→」という文字がキー名として使用できなくなっていたバグの修正。
  2003/07/16 3.29
    - Windows XP 用のドライバ。(Thanks to 小林)
    - `FUNCTION` `&PlugIn` を追加。
    - `FUNCTION` `&Recenter` を追加。
    - `contrib\109onAX.mayu` を追加。(Thanks to 松本博紀)
    - `104.mayu` と `contrib\ax.mayu` の記述ミスを修正。(Thanks to 松本博紀)
    - `contrib\DVORAKon109.mayu` を追加。(Thanks to 2ch)
    - その他修正…
  2001/10/08 3.28
    - チュートリアルとタスクトレイメニューの章を追加。(Thanks to hanawa)
    - related work に Key Bat を追加。
    - メニューをアクセスしている時のウィンドウクラス名は最後に `:MENU` がつく。
    - `=>` の代わりに `=` が使えるようにした。
    - subst の右側に `M0-` などのモディファイヤが指定できないバグを修正。
    - キーマップが影響する定義の説明を追加。
    - W2k で USB ドライバを簡単にインストールできるようにした。
    - その他修正。(Thanks to 小林)
  2001/09/02 3.27
    - 3.26 で `FUNCTION` `&Sync` が動作しなくなっていたバグを修正。`C-k` もちゃんと動作します。
    - `FUNCTION` `&KeymapPrevPrefix` を追加。
    - FAQ に「右 `Windows` キーを押すと IME のオンオフができるようにしたい。」を追加。
  2001/08/26 3.26
    - One Shot モディファイヤの例が間違っていたので修正。(Thanks to 小林)
    - Windows 側では離されていることになっているキーについて、「窓使いの憂鬱」がキーを離すスキャンコードを Windows 側へ送ることがないようにした。(Thanks to 小林)
    - related work に Word Emacs を追加。
    - `mayu-mode.el` で `M-;` (`indent-for-comment`) が使用できるようになった (Thanks to 永野圭一郎)
    - 戯れに `FUNCTION` `&DirectSSTP` を追加してみた。
  2001/08/13 3.25
    - `*.mayu` のアイコンが間違っていたのを直した。
    - `-=` で複数キーを設定しても一つしか有効にならないバグの修正。
    - WindowsNT4.0 以外 (9x, Me, 2000) で、「窓使いの憂鬱」を終了させたあとに何かのキーを押さないと終了しないバグの退治。(Thanks to 小林)
    - 設定ファイルで隣り合う複数の文字列を一つの文字列として取り扱うようにした。

      key X = &HelpMessage("サンプル C-x-", \
      "C-x C-s\t上書き保存\r\n" \
      "C-x C-f\t開く\t\r\n" \
      "C-x k\t\t新規作成\r\n" \
      "C-x C-c\t終了")

    - `FUNCTION` `&DescribeBindings` を微妙に改良。
    - アンインストールができなくなっていたのを修正。(Thanks to 小林)
  2001/08/05 3.24
    - `default.mayu` で、`英数` を `Control` として使用している場合に `C-Q` が正しく働かない問題を修正。version 3.19 で修正したものと原因は同じ。(Thanks to hanawa)
    - Windows9x のドライバを更新。青画面でも操作できるようになりました。(Thanks to 小林)
    - One Shot モディファイヤであると宣言したキーが押されている間にキーが押された時のみ、モディファイヤとして扱われるようにした。今までは、離された時にもモディファイヤ扱いになっていた。
    - 一時停止にしたときにタスクトレイのアイコンを変化させるようにした。
    - `R-` を新設。(Thanks to hanawa)。`mayu-mode.el` で色がつくようにした。
    - Borland C++ 5.5.1 でビルドできるようにした。
    - One Shot モディファイヤを離したときに有効なモディファイヤは押したときと同じになるようにした。
    - `&EmacsEditKillLineFunc`, `&EmacsEditKillLinePred` の説明を追加。
    - USB 対応ドライバは今回は収録していません。
    - BETA ではないです。
  2001/07/06 3.23 (BETA)
    - `104on109.mayu` で「`」が入力できなかったバグを直した。(Thanks to Oiwa)
    - One Shot (キーリピート有) を追加。
    - `FUNCTION` `&Toggle` で、強制的にオンオフできるようにした。
    - `109.mayu` に VAIO タワー用の特殊キーを追加。
    - WindowsNT4.0 でインストールできなくなっていた問題を修正。(Makefile の書き方のミス)
    - Windows9x のドライバを更新。
    - 新規インストールした時に「ホームディレクトリから」が選択されていてキー入力ができなくなってしまう問題を修正。
    - support に 2ch を追加。
  2001/03/24 3.22 (BETA)
    - 代用定義を追加した。おかげで `104on109.mayu` などがスマートに定義できるようになった。
    - `mayu-mode.el` で代用定義にも色がつくようにした。
    - 間違ってデバッグビルドしたものを収録していたのをリリースビルドを収録するようにした。
    - 間違って壊れた Windows9x のドライバを収録してしまったので正しいドライバを入れた。
  2001/03/23 version 3.21 (BETA)
    - Windows95 で CPU 時間を 100% 占めてしまう問題がなおった。(Thanks to 小林義明)
    - NEC PC-98x1 で動作しない問題がなおった。(Thanks to 小林義明)
    - `FUNCTION` `&LoadSetting` で、どの設定をロードするか指定できるようになった。
    - `contrib\98x1.mayu` を追加。(Thanks to HAJANO Naòqui)
    - ホームディレクトリ に、`mayu.exe` のカレントディレクトリを追加。
  2001/03/10 version 3.20 (BETA)
    - Windows95 でも動作するようになった。
    - acknowledgements 更新。
    - `cab32.dll` ではなく `iexpress` を使用してパッケージを作成するようにした。
    - ソースをパッケージから分離した。
  2001/03/05 version 3.19 (BETA)
    - このバージョンは内部構造を大幅に変えたので不安定である可能性が高いです。どうしてもこのバージョンが必要な人のみ使用してください。
    - `Control` + `U` 操作の改良。
    - `default.mayu` を使っている場合は、`Global` キーマップで `英数` を `Control` にしているが、`Global` キーマップを親キーマップとして持たない `keymap2` の中では (当然ながら) `英数` を `Control` として使用できないので、ちゃんと `Global` キーマップを親キーマップとして持つように設定ファイルを修正。
    - `default.mayu` で、`-DMAP-ESCAPE-TO-META` とすると `Alt` + `X` などを `ESCAPE] [X` で代用するようにした。
    - WindowsNT/2000 版のプログラム内部では全て UNICODE で処理するようにした。
    - WindowsNT/2000 版では、設定ファイルの文字コードに、shift_jis だけでなく UTF-16LE/BE や UTF-8 を使用できるようになった。「メモ帳」で、「Unicode」や「Unicode big endien」や「UTF-8」を選んでセーブすれば、日本語だけでなくハングルなどの UNICODE で扱える文字が全て設定ファイルに書けるようになる。現在は文字コードは自動判別され、自動判別に失敗した場合の救済措置はない。自動判別に失敗するようなら自動判別できそうな文字をコメントにでも書いておくこと。
    - 正規表現ライブラリを Regex++ に変更した。
    - いろいろ変えた結果多分 bcc32 ではコンパイルできなくなった。少し修正するだけだと思うが。
    - `contrib\ax.mayu` を追加。(Thanks to KAWABE Nobukazu)
    - related work に MetaX を追加。
    - デフォルトモディファイヤの変更のサンプルが間違っていたので直した。(`key IC-* =` ではなく `key *IC- =` が正しい) (Thanks to Hirotaka Kasaki)
    - デフォルトキーの中で定義中のキーマップ名を参照できなかったバグを修正した。つまり、`keymap Hoge = &Prefix(Hoge)` などができるようになった。(Thanks to HANAWA Yoshio)
    - Windows9x 用のドライバを作成されたので、このバージョンから WindowsNT/2000 用のパッケージと Windows9x 用のパッケージが存在します。(Thanks to 小林義明)
    - 現在、Windows9x では、`&HelpMessage`、`&HelpVariable`、`&WindowSetAlpha` は使用できません。
    - `default.mayu` を使用している場合、シンボル `ZXCV` を定義しておくと、`Control` + `Z`, `Control` + `X`, `Control` + `C`, `Control` + `V` が Windows と同じ動きをするようになります。(Thanks to HANAWA Yoshio)
  2000/12/17 version 3.18
    - ヘルプが開けないバグの修正。
    - `mayu-mode.el` が展開されていなかったのを直した。ついでに少しだけ修正。
    - `IC-` が時々無視されるバグが直ったはず。
    - `FUNCTION` `&HelpMessage` を追加。`default.mayu` を使っている場合はメモ帳で `Control` + `X` を押してみよう (ただし IE5.0 以上を使っている場合のみ)。
    - `event` を追加。
    - これらの追加により、プレフィックスキーが押された時にメッセージを表示することが可能になった。
    - `FUNCTION` `&KeymapWindow` を追加。
    - `FUNCTION` `&Variable` を追加。
    - `FUNCTION` `&Repeat` を追加。
    - `FUNCTION` `&HelpVariable` を追加。
    - これらの追加により Emacs の `Control` + `U` が可能になった。私にメールを送るために 1000000000000000000000000000000000000000000000000000000000000@tsg.ne.jp と入力するのもらくらくです。
    - チュートリアル・FAQ の充実は次回に延期。
  2000/12/03 version 3.17
    - メーリングリストを Source Forge へ移動。
    - `FUNCTION` `&WindowMoveTo` を追加。
    - `FUNCTION` `&WindowResizeTo` を追加。
    - `FUNCTION` `&MayuDialog` を追加。
    - `FUNCTION` `&DescribeBindings` を追加。表示形式がいまいち分かりにくいのでどうしようか思案中。
    - related work に Pastel Touch を追加。
    - related work に KeyMap を追加。
    - related work に dvorak kr, swap2k を追加。
    - related work に Q's Nicolatter を追加。
    - FAQ を追加。
    - `mailto:` をドキュメントから削除。
    - DOC++ で表示できるようにソースのコメントを書き換えた。
    - Emacs で設定ファイルを編集する人のために `mayu-mode.el` を追加。ただし、色がつくだけです。
    - `FUNCTION` `&WindowIdentify` で、ウィンドウの位置と大きさも表示するようにした。
    - `contrib\keitai.mayu` を追加。テンキーで携帯電話式ひらがな入力をしようという画期的設定ファイル (注:Joke)。(Thanks to HANAWA Yoshio)
    - 設定ファイルが見つからなかったときはエラーを出すようになった。
    - 設定ファイルを更新。
    - 調査ダイアログを動かすとログウィンドウも動くようにした。
    - 設定ダイアログ
      - タスクトレイのメニューから沢山開けるバグを修正。
      - 「編集」を押して編集ダイアログが出ている最中にもう一度「編集」を押せるバグの修正。
      - 「編集」で、ファイル名を空にできないバグの修正。
      - サイズ変更できるようにした。
  2000/05/28 version 3.16
    - インストーラがテンポラリフォルダに作った contrib を削除しないバグを直した。
    - アンインストーラが「窓使いの憂鬱」関連のレジストリを全て消すように変更。
    - バージョンダイアログの「最新バージョンのダウンロード」ボタンが利かなくなっていたバグを直した。
  2000/05/23 version 3.15
    - ドライバを起動時にスタートさせることにした。ので、Administrator じゃなくても窓使いの憂鬱を起動できるようになったはず。ただしこれを有効にするには、窓使いの憂鬱を一旦アンインストールして、コンピュータをリセットしてから再びインストールすること。
    - アプリケーション終了時に時々エラーが起きていたバグを退治。
    - 「窓使いの憂鬱の設定」ダイアログの改良。
    - version 3.10 あたりから、ホームディレクトリのうち「設定(S)... で指定したファイルのあるディレクトリ」が検索されなくなっていたバグを修正。
    - 以下の `FUNCTION` の最後の引数に `MDI` を指定すると、MDI 子ウィンドウを操作できるようにした。 `&WindowClingToBottom`, `&WindowClingToLeft`, `&WindowClingToRight`, `&WindowClingToTop`, `&WindowClose`, `&WindowHMaximize`, `&WindowLower`, `&WindowMaximize`, `&WindowMinimize`, `&WindowMove`, `&WindowMoveVisibly`, `&WindowRaise`, `&WindowVMaximize`
    - 設定ファイルを更新。
  2000/05/19 version 3.14
    - 正規表現ライブラリを再び BUG FIX。
    - 設定ファイルを更新。
  2000/05/13 version 3.13
    - 正規表現ライブラリの BUG FIX。
  2000/05/08 version 3.12
    - 正規表現ライブラリの BUG FIX。「マインスイーパ」にマッチさせることができるようになった。
  2000/05/06 version 3.11
    - `contrib\dvorak.mayu` を更新。(Thanks to KANAI Makoto)
    - `contrib\mayu-settings.txt` を更新。(Thanks to HANAWA Yoshio)
  2000/05/05 version 3.10
    - Borland C++ Compiler 5.5 でビルドできるようにした。(Thanks to HANAWA Yoshio)
    - 入力されたキーと同じモディファイヤの指定 ができるようにした。
    - 複数のキー設定をメニューで切り替え可能にした。
    - 設定ファイルを更新。
    - DLL 更新。
    - (非公開)
  2000/04/24 version 3.09
    - `contrib\dvorak.mayu` を追加。(Thanks to KANAI Makoto)
    - `FUNCTION` `&InvestigateCommand` を追加。`&PostMessage` の為の調査用。
    - `FUNCTION` `&EditNextModifier` を追加。`Alt` + `X` などを `ESCAPE` `X` などで代用することが可能に。
    - `FUNCTION` `&Prefix` を変更。`keymap2` を使うときのお約束 (`mod !shift !alt !control !windows`) が不要に。
    - 設定ファイルを更新。
  2000/04/15 version 3.08
    - `FUNCTION` `&WindowSetAlpha` を追加。
    - `FUNCTION` `&WindowRedraw` を追加。
    - related work に KillGates を追加。
    - `contrib\mayu-settings.txt` を更新。(Thanks to HANAWA Yoshio)
    - 設定ファイルを更新。
  2000/04/01 version 3.07
    - `FUNCTION` `&Wait` を追加。
    - `FUNCTION` `&MouseWheel` を追加。
    - `FUNCTION` `&VK` を拡張してマウスボタンを入力できるようにした。
    - マニュアルの内容をい く つか修正。
    - 設定ファイルを更新。
    - 英語リソースをつけてみた。が、使い方不明。
    - 連絡先の修正。
    - わたしはエイプリルフールは嫌いです。
  2000/03/21 version 3.06
    - いくつかの typo を修正。
    - `FUNCTION` `&WindowHMaximize`, `&WindowVMaximize` で、H と V を両方同じウィンドウへ適用した場合の動作を修正。
    - `FUNCTION` `&ClipboardCopy` を追加。
    - 設定ファイルを更新。
    - `IL-` を導入し、`I-` は `IC-` に名前を変更。ただし、互換性の為 `I-` も引き続き使用可能です。
    - コンソールのフォーカスの追跡に時々失敗していたのが直ったかもしれない。(かもしれないばっかだ…)
  2000/03/10 version 3.05
    - セットアップを修正。
    - コンソールのフォーカスの追跡に時々失敗していたのが直ったかもしれない。
    - (非公開)
  2000/03/08 version 3.04
    - 設定ファイルを修正。(デフォルトで英数キーを Control に)
    - マニュアルのバグを直した。
    - マニュアルを Mozilla でもちゃんと表示できるようにした。(IE で見るときはフォントサイズ「小」にするとかっこいいが、よみにくいのでしなくていいです)
  2000/03/04 version 3.03
    - `FUNCTION` `&WindowHMaximize` を追加。
    - `FUNCTION` `&WindowIdentify` を追加。
    - 設定ファイルを大幅に更新した。
    - `contrib\mayu-settings.txt` の追加。(Thanks to HANAWA Yoshio)
    - Windows2000 用のドライバをパワーマネジメント対応にした。
    - コンソールのフォーカスの追跡に時々失敗していたのが直ったかもしれない。
    - PlayStation2 の発売日。
  1999/11/01 version 3.02
    - setup 時にキーボードの種類を聞くようにした。
    - KeyboardLayout/ほげほげ の廃止 (日本語の場合はキーボードによらず、IME によって決定されるため)。
    - 設定ファイルを再読み込みした後に、コントロールキーなどが押されっぱなしになることがあるバグを直した。
    - One Shot モディファイヤの説明が間違っていたので修正。
    - デフォルトのモディファイヤを変更できるようにした。
    - include では、まず、レジストリで指定してある設定ファイルと同じフォルダを検索するようにした。
    - インストーラを少々変更
    - `FUNCTION` `&VK` で、`U-` と `D-` が逆になっていたバグを修正。
  1999/10/30 version 3.01
    - `104on109.mayu` と `109on104.mayu` を作った。
  1999/10/29 version 3.00
  1999/09/08 cmkey version 2.21
  1999/09/05 cmkey version 2.20
  1999/05/31 cmkey version 2.19
  1999/05/31 cmkey version 2.18
  1999/05/30 cmkey version 2.17
  1999/05/29 cmkey version 2.16
  1999/05/26 cmkey version 2.15
  1999/05/26 cmkey version 2.14
  1999/02/10 cmkey version 2.13
  1998/12/02 cmkey version 2.12
  1998/10/07 cmkey version 2.11
  1998/07/23 cmkey version 2.10
  1998/07/20 cmkey version 2.09
  1998/07/17 cmkey version 2.08
  1998/07/12 cmkey version 2.07
  1998/07/11 cmkey version 2.06
  1998/07/11 cmkey version 2.05
  1998/07/05 cmkey version 2.04
  1998/06/07 cmkey version 2.03
  1998/05/24 cmkey version 2.02
  1998/05/19 cmkey version 2.01
  1998/05/19 cmkey version 2.00
  1996/07/?? WinModMap version 1.03
  1996/06/30 WinModMap version 1.02
  1996/06/22 WinModMap version 1.01
  1996/06/21 WinModMap version 1.00