１. 表紙　top page

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

２. 概要　abstract

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

  - Windows 2000, Windows XP, Windows Vista で動く汎用キーバインディング変更ソフトです。
  - 「窓使いの憂鬱」Version 3.30から「のどか」Version 4.03までの変更/修正点については、改版履歴を ご覧ください。
  - 2 ストロークキーを設定できます。
  - 個々のウィンドウに別々のキーバインディングを割り当てることができます。
  - Control などのモディファイヤキーを自由に作成することができます。
  - ウィンドウの移動、最大化、最小化するキーを作成できます。
  - エディットコントロールを Emacs 風にすることができます。
  - U*IX 的な素敵なカスタマイズ機能を提供しています。
  - 暫定扱いかつ全ての機能はサポートしていませんが、タッチパッドと併用するときに便利な ThumbSense(サムセンス)対応コードも取り込みました。
  - 試用版 は、正式版からの制限として、起動後30分で動作停止します。正式版（税込み 1800円）は、http://appletkan.com/ にて販売しています。
    なお、これは署名付きドライバへの道を探るためです。 目標100本で会社設立、署名取得の予定ですが、現在の販売ペースだと、約1年後の 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個登録されるので、インストール後、手作業で片方を削除してください。「のどか 」「のどか」が存在し、半角スペースが付いている方が古い方です。
     - また、「窓使いの憂鬱」Version 3.30.1以前、あるいは「繭(まゆ)」Version 4.00.0 をお使いの場合にも、「窓使いの憂鬱」あるいは「繭(まゆ)」を終了し、アンインストールした後で、PCを再起動してください。
     - Vista 64bit Editionの場合には、デバイスドライバに署名が付いていないため、Windows ブートメニュー表示時に、F8キーを押して、「ドライバ署名の強制を無効にする」を選択して起動させてください。 これは、通常使用時でも同じです。もしも、これを忘れると、マウス/キーボード操作が出来ないまま、ログイン画面となり、打つ手が無く、電源を切るぐらいしか できなくなります。
       ReadyDriver Plusというソフトを導入して、自動的にドライバ署名強制無効モードで起動させるなども、ご検討ください。
  3. 入手された実行ファイルを Administrator（管理者）権限で実行してください。すると「のどか」のインストール作業が開始されます。
     2. で、アンインストールを実行しなかった場合 で、Vista 32bitの場合、ファイルの上書きに対する問い合わせがあるので、上書きを許可してください。
     キーボードクラスのフィルタドライバが存在する場合、インストールを続行するか確認ダイアログが表示されます。続行した場合、動作が不安定となる可能性があります。
     また、アンインストールしてPCを再起動していなかった場合にも、ダイアログが表示されるので、PCを再起動してから、インストール作業を行ってください。
     なお、オプションについては、以下のとおりです。
     - インストール先
       実行ファイルなどがインストールされるフォルダです。デフォルトのままでよいでしょう。必要ならば参照ボタンを押して、変更可能です。
     - All Users のスタートメニューに登録
       すべてのユーザのスタートメニューにショートカットが登録されます。なおスタートアップに登録されませんので、自動起動しません。
     - 個人のスタートアップに登録
       現在インストール作業を実行しているユーザのスタートアップに登録され、自動起動するように設定されます。
     - キーボードの種類
       日本語キーボードの場合には、日本語109(106)キーボードを、また英語キーボードの場合には、英語104(101)キーボードを選択してください。
  4. インストールが終わったらPCを再起動してください。
  5. インストール時に、スタートアップに登録を設定していないならば、`nodoka.exe` を実行することで動作開始します。 その場合、お好みにより、スタートアップにショートカットを作ると良いでしょう。試用版の場合には起動後30分で自動終了します。
  6. もし、「窓使いの憂鬱」の設定ファイルをお使いの場合、正しく読み込まれていません。ログをご確認いただき、必要であれば、お使いの .mayu ファイルのファイル名自身を、dot.nodoka へ変更し、設定ファイルの中で、include しているファイル名も ご変更ください。
  7. また「窓使いの憂鬱」に対応したプラグインは、名称変更された「のどか」では動作しない可能性があります。

  復旧用ドライバについて

    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. コントロールパネルから「のどか」をアンインストールします。
４. アンインストール　uninstall

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

５. メニュー　menu

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

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

  再読み込み(R)

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

  選択(C) ►

    サブメニューから設定ファイルの切り替えを行います。「のどか」がデフォルトで用意しているサンプル設定は 8 つあります。以下の条件の組み合わせとなります。

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

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

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

  設定(S)...

    選択(C) ►の選択肢となる設定ファイルを作成します。

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

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

    「名前(N)」には、メニューに表示される名前を記述します。「ファイル名(F)」を空欄にするとホームディレクトリから `dot.nodoka` を読み込みます。「シンボル(S)」には、条件分岐で使用されるシンボルを記述します。シンボルの頭に `-D` をつけ、複数のシンボルは `;` で区切ります。

  一時停止(T)

    「のどか」の機能を一時的に停止します。キーボードからの入力は、「のどか」が存在しない時と同じ動作をします。このとき、タスクトレイのアイコンは になります。

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

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

    それぞれの場所でキーを押すことにより、キーのスキャンコードや仮想キーコードを調べることができます。

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

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

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

    調査(I)...の結果やエラーなどがここに表示されます。(「□詳細(D)」をチェックすると、「のどか」の内部の変換処理が詳細に表示されますが非常に難解です)
    再読み込みボタンを押すと、現在選択されている設定ファイルを再読み込みします。

  バージョン(V)...

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

  ヘルプ(H)...

    このマニュアルを表示します。

６. チュートリアル　tutorial

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

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

    まず、タスクトレイメニューの選択(C) ►の(ホームディレクトリから)で使われる自分用の設定ファイル、`dot.nodoka` ファイルを作ります。(インストール 先のディレクトリに存在する `dot.nodoka` をホームディレクトリへ、コピーすると良いでしょう。 なおエクスプローラにおいて、拡張子を表示していない設定にされている場合には、誤った拡張子が付いていないか、確認ください。)

    まず、環境変数 `HOMEDRIVE と HOMEPATH` で、ホームディレクトリの位置を 確認します。

    HOMEDRIVE と HOMEPATHの確認方法

      アクセサリ-コマンドプロンプトを実行して、set[Enter] を入力すると HOMEDRIVE と HOMEPATH を含め、すべての環境変数の設定値が表示が可能です。

    HOMEDRIVEには、通常 c: が設定されており、HOMEPATH に残りのパスが設定されています。具体的には、XPでは、c:\Documents and Settings\ユーザ名。Vistaでは、c:\Users\ユーザ名 あるいはエクスプローラからたどるなら > c: > ユーザー > ユーザ名 となっているでしょう。

    このディレクトリに、`dot.nodoka` というファイルを作ります。

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

    Vista では、Program Files\nodokaの下の設定ファイルを通常権限で編集しても反映されず、C:\Users\ユーザ名\AppData\Local\VirtualStore\Program Files\nodoka　にリダイレクトされています。その結果、編集後、再読み込みを実行されても、反映されていないので、必ず、ホームディレクトリ へ コピーして、お使いください。

  ii. 作った設定ファイルに最低限の設定を書く

    まず、コピーしたdot.nodokaファイルには、デフォルトで、109か104キーボードの設定がされているので、include されているかどうか確認してください。

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

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

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

      好みに応じて、以下の各行を書くか書かないかを決めてください。(タスクトレイメニュー選択(C) ►のデフォルト設定に対応しています)

      include "104on109.nodoka" # 109 キーボードを 104 キーボード風に
      include "default2.nodoka" # Emacs ライクなさまざまな設定

    104 英語キーボードの場合

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

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

      好みに応じて、以下の各行を書くか書かないかを決めてください。 (タスクトレイメニュー選択(C) ►のデフォルト設定に対応しています)

      include "109on104.nodoka" # 104 キーボードを 109 キーボード風に
      include "default2.nodoka" # Emacs ライクなさまざまな設定

    ここまで書き込んだら、タスクトレイメニューで選択(C) ►から(ホームディレクトリから)を選んでください。ログウィンドウにエラーメッセージが出ないようであれば、ここまではうまくいっています。これでカスタマイズの準備ができました。この先に自分好みの設定を書き加えていくことになります。そして書き加えたら再読み込み(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` が押されたような動作になります。

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

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

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

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

  iv. 特定のウィンドウのみでキー割り当てを変更してみる （お使いのWindowsの状態によっては正常に動作しないといった制限事項あり）

    つぎに、Internet Explorer でのみ `PageUp`/`PageDown` キーで、`Home`/`End` の動きをさせてみます。`dot.nodoka` の末尾に以下のように追加します。
    （ お使いの Windowsによっては、プログラムのウィンドウのCLASS/TITLE名が正しく取得できない状態があります。詳細はバグの項をごらんください。）

    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. キーがモディファイヤキーと共に押された場合に置き換えてみる （お使いのWindowsの状態によっては正常に動作しないといった制限事項あり）

    つぎに、Internet Explorer での動作をさらに変更して、`Ctrl` + `PageUp`/`PageDown` で、`Home`/`End` を押したように動かしてみます。前章で追加した内容を変更して以下のように書き換えます。(`C-` がキー名の前に追加されました 。`C-は、コントロールキーを指しています。`)
    （ お使いの Windowsによっては、プログラムのウィンドウのCLASS/TITLE名が正しく取得できない状態があります。詳細はバグの項をごらんください。）

    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`などが押されていると キーイベントの置き換えを行いません。

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

  vi. モディファイヤキーの状態と無関係に置き換えてみる （お使いのWindowsの状態によっては正常に動作しないといった制限事項あり）

    前章の設定では、`Ctrl` + `Alt` + `PageUp`/`PageDown` と入力した場合、変換されずにそのまま入力されてしまいます。既に説明した通り、これは正しい動作です。(不正確な言い方ですが、モディファイヤが押されていると別のキー名になるので、前章の指定では置き換えが起きない、と理解してください)
    （ お使いの Windowsによっては、プログラムのウィンドウのCLASS/TITLE名が正しく取得できない状態があります。詳細はバグの項をごらんください。）

    `Alt` が押されているかどうかにかかわらず `Ctrl` + `PageUp`/`PageDown` を `Home`/`End` のように動作させるには、前章の設定を変更して以下のように修正します。
    （説明の都合上、IEを例にしていますが、実際には、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` で定義されているキーシーケンスで、109 キーボードならば `A-半角/全角` と書くのと同じ意味になります。

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

    たとえば、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 モディファイヤ、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側で、キーボードの操作に一部問題が発生するかもしれません。

  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のカスタマイズがやりにくいのではないかと思います。

    もし不便すぎて我慢できない、という場合には、 `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 をインストールしたディレクトリです)

    名前 | 日本語 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. PS/2な日本語キーボードのノートPCに、USBの英語キーボードを付けて使いたいです。
    シフト-F2キーで、日本語か英語キーボードに、トグルで切り替える設定を、Ver 4.03 以降の dot.nodoka に記述しました。
    日本語キーボードを お使いの場合、「のどか」インストール直後は、設定ファイルとして、「日本語 109 キーボード (Emacs 風)」が選択されています。ここで、設定を「日本語109キーボード」あるいは、「日本語109キーボード(104風)」のどちらかを選択すれば、このキーアサインが有効となります。詳細は、dot.nodoka ご覧ください。
    なお、英語キーボードを お使いで、あとから日本語キーボードを追加するケースでは、Windowsとして認識しているキーボードドライバを、日本語キーボード配列に変更すれば（Vistaの場合。XPの場合。Windows 2000の場合）使えるようになります。
  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+ さんにより実装されました。
    ただし、名称変更された「のどか」のプラグインとしての動作確認は、こちらでは出来ていません。
  いろいろな仮名入力方法 (dead link)
    いろいろな仮名入力方法の「窓使いの憂鬱」用設定ファイルがあります。
  Commutative Field in GeoCities
    tron配列設定ファイルなどがあります。
  雑記帖
    mayu-mode.el が配布されています。 「のどか」では nodoka-mode.elに改名しています。
  「窓使いの憂鬱」を使って T-Code 入力してみる
    T-Code 用設定ファイルなどが配布されています。
  mayu-plugins -- 窓使いの憂鬱用プラグイン
    window-select, migemo-isearch, ie-migemo-search といったプラグインが配布されています。ただし、 名称変更された「のどか」のプラグインとしての動作確認は、こちらでは出来ていません。
  Vector: 新着ソフトレビュー
    新着ソフトレビュー
１３. 著作権表示　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/ でのサポートではありませんので、決して そちらに お問い合わせすることが無いよう よろしくお願いいたします。掲示板にて、ユーザサポートを実施しています。 正式版購入者には、最新版のリリースなどの御案内を メールで 差し上げています。ソースコードは、Common Public License で http://sourceforge.jp/projects/nodoka4/ にて公開しています。また、はてなにて開発日記を付けています。

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

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

１５. 謝辞　acknowledgements

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