「のどか」と名づけた、汎用キーバインディングソフトである「窓使いの憂鬱」の派生版。ライセンスはCPLで、オリジナルである「窓使いの憂鬱」のBSDライセンスとは異なり、サポート開発主体は異なります( https://appletllc.com/ )。オリジナルでは、Windows XPまでのサポートでしたが、Vista、...
2010-05-04 「のどか」4.13をリリース
- 追加 マウスフック、GuiEdit, キーリピート, デスクトップアイコンListView表示, FocusChange検出。
- 修正 gamepad.dllメモリーリーク, BOM無しUTF-16設定ファイル読み込みアプリケーションエラー, KL-モード検出。
- その他、細かな修正
2010/05/04 4.13
機能追加
・GuiEdit
設定ダイアログから、設定ファイルを編集する際、GUIで編集できるようにしました。ただしキーリピート設定の一部のみです。
今後とも、他の機能を含め、GUIで編集できるよう機能拡張する予定です。現在以下の仕様および制限事項があります。
Shift-JIS形式以外のファイルには対応していません。Windows 2000には対応しておらず、また.NET Framework v4.0のラ
ンタイムが必要です。
Reload/OKボタンを押すと、設定ファイルのバックアップを作成し、再読み込みが実行されます。
・キーリピート速度設定機能
def option KeyboardDelay, def option KeyboardDelayMax, def option Keyboard
DelayKeyを追加し、キーリピートの高速化が可能です。
Pause/Breakキーのようなキーリピートが発生しないキーを除き、リピートを速く(遅く)設定できます。
マウフフックによるキーには効きませんが、GamePadでリピートを有効にしたボタンには効きます。
KeyboardDelayMaxは最大リピート期間、KeyboardDelayKeyではキーごとに個別のキーリピート速度設定が可能です。
現在、一部のキー入力自体を遅くする機能は未実装です。
Ctrlキーなど、モディファイヤーキーが押されたままとなる不具合に関して、KeyboardDelayMaxが有効かどうか裏が取れていません。
・マウスフック対応
窓使いの憂鬱で一部機能実装され、YAMYで拡張されたマウスフック機能を取り込みました。
def option mouse-event = true で有効となります。また &MouseHook() も実装しました。
また def option drag-threshold にて、マウスをドラッグした際にキー発行となる移動距離をピクセル値設定できます。
設定ファイル add-gamepad-mouse.nodokaを新設し、104.nodoka, 109.nodokaでデフォルトで読み込むようにしま
した。
その結果、gamepad.nodokaなどgamepad用の設定ファイルでのキー定義をそちらに移しました。
また、thumbsense.nodoka で、従来コメントアウトしていたマウスフック関係の設定行のコメントを外しました。
制限事項
UAEダイアログが表示された際、マウスやキーでボタンが押せないことがあります。
・def option DesktopListView
デスクトップ上のアイコン表示状態を変更します。Windows 2000では未対応です。
変更を実施すると例えば、小さなアイコンを用いたリスト表示が可能となり、デスクトップ画面を広く使えるようになります。
キーバインディング機能とは無関係ですが、欲しかった機能であったため追加しました。
・def option FocusChange
Windowのフォーカスが変更された際、FocusChange (E1-0x1f)のUpが送られるようにしました。
バグフィックス
・かな入力モード検出
def option KL- によるかな入力モード検出がキー入力後でないと判明しないというバグがありましたが、改善させました。
かなモードの検出には、IL-*IC-KL- を使います。以前のヘルプでの表記は、IL-KL- でした。
・defalut.nodoka
IE7,8では、ウィンドウクラス名が異なることがあるために修正しました。なお、これはYAMYのチケット #18663 を取り込んだものです。
http://sourceforge.jp/ticket/browse.php?group_id=4424&tid=18663
defalut.nodoka に下記を追加したので、dot.nodokaなどで同じwindow名で使用済みの場合には、ご注意ください。
window IEFrame /:IEFrame/ : EmacsEdit
・Gamepad.dll
ゲームパッドが未接続な際、接続されるまで検出をループさせていますが、その際メモリリークしていました。
・BOM無しUTF-16設定ファイル読み込み
初回はOKでも再読み込みさせた際、アプリケーションエラーとなることがありましたが対応しました。
なおBOM無しのUTFファイルは、依然として検出に失敗することがありますので、必ずBOMを付けてください。
細かな変更
・setup
インストーラ 二つのチェックボックス(スタートメニューへの登録、スタートアップへの登録)を最初からチェックした状態に変更しました。
これは、窓使いの憂鬱のSourceForge.net に要望として上がっていたものです。
http://sourceforge.net/tracker/index.php?func=detail&aid=1472072&group_id=
5403&atid=355403
・-DNODOKA
初めてのインストールの際、ホームディレクトリから の設定において、引数 -DNODOKA を追加しました。また英語配列104キーボードを選択している
場合には、-DUSE104をつけるようにしました。
・def option構文
def option文において、false 以外の文字列、例えば enable, true は、すべてtrueとなるように解釈していましたが、dis
ableと記述しても、trueとなっていました。そこで、disableも falseとなるように変更しました。したがって enable/disable
, true/false が使用可能です。
・dot.nodoka
デフォルトの dot.nodoka ファイルにおいて、F1キーを押すと、のどか のメニューを開くよう記述を追加しました。
key F1 = &SendPostMessage("PostTray",,"のどか", 0x0205, 0, 0) # のどかのメニューを開く。
マウスが使えない時に、通知領域のアイコンを押して操作することは難しいためです。
・設定ダイアログに、GUI編集、ログ、調査、一時停止ボタンを追加しました。
ヘルプ、終了、バージョンについては、ボタンを用意していませんが、今後つける可能性はあります。