Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

251 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NYamy - New Yamy

本ソフトウェアは「窓使いの憂鬱」およびその派生ソフトウェア「YAMY」(※)をベースに大幅な修正を加えたものです。

直接の派生元は以下になります。

※OSDN終了に伴い、オリジナルのYAMY配布元は消滅しました。

NYamy における主な変更点

NYamy における、Yamy私家版 0.031 からの主な変更点は以下の通りです。

プロジェクト名の変更

  • 設定ファイル処理系などの刷新に伴い、Yamy との互換性を大幅に縮小したことから、プロジェクト名を NYamy (New Yamy) に全面リネームしました。
    成果物は nyamy.exe / nyamy64.dll などとなり、レジストリや設定ファイル (nyamy.ini) も独立です。(.mayu 形式との互換性は維持しています)

設定ファイル処理系の刷新

  • 設定ファイルのコンパイラを別プロセス (nyamy-scripter) に分離し、本体とはパイプ通信で接続するアーキテクチャに変更しました。設定のリロードは scripter プロセスの再起動で行います。
    • nyamy-scripter.dll をリンクする独自の実行ファイルに差し替えることも可能です。
  • .mayu 形式のパーサーを全面的に書き直しました。(ASTを組み立てた上で設定情報に変換)
  • mruby (full-core版) を組み込み、Ruby DSL (.mayu.rb) による設定記述を可能にしました。
    • loadrequire による分割ロード機能($LOAD_PATH検索)もサポートしています。
    • レジストリ Scancode Map によるマッピング状態を読み出す機能を追加し、環境の違いを吸収し易くしました。
    • ユーザー定義関数を定義/実行可能にしました。
    • 一部の文字列解析には前述の mayu パーサーを用いて処理しています。
  • .mayu 形式の設定ファイルも含め、設定ファイルの文字コードを UTF-8 に統一しました。(.mayu 形式については CP932(≒Shift_JIS) にも対応しています)
  • デフォルトモディファイヤを変更する key ⟨モディファイヤ⟩ = ⟨モディファイヤ⟩ 文を廃止しました。ファイル末尾まで効き続ける可変状態であり、離れた行の解釈が暗黙に変わるためです。省略時のデフォルト自体は従来どおりで、モディファイヤは各キーに明示してください。

64bit化・内部の近代化

  • プロジェクトファイルを Visual Studio 2026 に更新しました。
  • C++17へ移行し、独自実装やBoost依存の処理を標準ライブラリに置き換えるなどのモダンC++化を実施しました。
  • 文字列処理を UNICODE (wchar_t / std::wstring) に統一し、_TCHAR / tstring 抽象化を廃止しました。
  • 32bit版エンジンを削除し 64bit専用としました。(32bitアプリケーション用のフックDLLは維持)
  • 旧コンパイラ互換コード (Borland C++ / Cygwin / Watcom)、ThumbSense 対応、旧インストーラーなど未使用のコード・ファイルを削除しました。
  • NLSキーのエスケープ機能 (escapeNLSKeys) を削除しました。動作中にレジストリの Scancode Map を動的に書き換える実験的な機能でしたが、ログインセッション中での Scancode Map 変更反映を実現する方式が、危険を伴いかつ現行世代Windowsでは動作しない可能性が高いものであったためです。

バグ修正・改善

  • GetAsyncKeyState によるキー状態の再同期を実装し、キーが押されたままになる「幽霊押下」を自動解消するようにしました。
  • ログウィンドウのフォント変更が即時反映されないバグを修正しました。
  • バッファオーバーラン、タイプミス起因のバグなどを修正しました。
  • 終了処理を並列化し、終了を高速化しました。
  • 未処理例外発生時にフックを解除する処理を追加しました。

オリジナルのREADME

About

New Yamy, derived from Mado tsukai no yuutsu, YAMY, and Yamy private edition

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages