<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:dc="http://purl.org/dc/elements/1.1/">
 <channel>
  <pubDate>Fri, 18 Sep 2009 15:52:00 GMT</pubDate>
  <description>Releases headline of Yet Another Mado tsukai no Yuutsu(yamy) @ SourceForge.JP</description>
  <atom:link href="http://sourceforge.jp/projects/yamy/releases/rss" rel="self" type="application/rss+xml" />
  <link>http://sourceforge.jp/projects/yamy/releases/</link>
  <title>New Releases of Yet Another Mado tsukai no Yuutsu</title>
  <language>ja-jp</language>
  <item>
   <pubDate>Fri, 18 Sep 2009 15:52:00 GMT</pubDate>
   <title>yamy - 0.03</title>
   <link>http://sourceforge.jp/projects/yamy/releases/43637</link>
   <guid>http://sourceforge.jp/projects/yamy/releases/43637</guid>
   <dc:creator>gimy (gimy)</dc:creator>
   <description>&lt;h2&gt;ReleaseNote&lt;/h2&gt;&lt;p&gt;Yet Another Mado tsukai no Yuutsu(YAMY) ver.0.03&lt;br /&gt;&lt;br /&gt;1. 概要&lt;br /&gt;&lt;br /&gt;Windows用汎用キーバインディング変更ソフト「窓使いの憂鬱(以後mayuと表記)」&lt;br /&gt;(&lt;a href=&quot;http://mayu.sourceforge.net/)&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/)&lt;/a&gt;のキー入力置換をドライバベースからユーザ&lt;br /&gt;モードフックベースに変更した派生ソフトウェアです。&lt;br /&gt;既に開発を終了したmayuをforkすることにより、Windows Vista以降のOSのサポート&lt;br /&gt;を目指しています。&lt;br /&gt;&lt;br /&gt;オリジナルのmayuではフィルタドライバによりキーの置き換えを実現していましたが、&lt;br /&gt;本プロジェクトではそれをWH_KEYBOARD_LLのフックとSendInput() APIに変更します。&lt;br /&gt;これにより、mayuほどの低層での強力な&lt;br /&gt;置換は期待できなくなるものの、ドライバへの署名を要することなく、&lt;br /&gt;Vista以降のWindows(特に64bit版)への対応を目指します。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. ファイル構成&lt;br /&gt;&lt;br /&gt;yamy.exe	... yamy32/yamy64のどちらかを起動するランチャ&lt;br /&gt;yamy32		... 32bit版yamy本体&lt;br /&gt;yamy64		... 64bit版yamy本体&lt;br /&gt;yamy32.dll	... 32bit版フックDLL&lt;br /&gt;yamy64.dll	... 64bit版フックDLL&lt;br /&gt;yamyd32		... 64bit環境で32bitプロセスをフックするための補助プログラム&lt;br /&gt;yamy.ini	... 設定ファイル(mayu でのレジストリ設定に相当)&lt;br /&gt;workaround.reg	... 特定キー問題対策用Scancode Mapレジストリサンプル&lt;br /&gt;readme.txt      ... 本ドキュメント&lt;br /&gt;*.mayu		... キーバインド設定ファイル&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 使用方法&lt;br /&gt;&lt;br /&gt;基本的な使用方法は「窓使いの憂鬱」と同じです。&lt;br /&gt;&lt;a href=&quot;http://mayu.sourceforge.net/mayu/doc/README-ja.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/mayu/doc/README-ja.html&lt;/a&gt;&lt;br /&gt;を参照して下さい。&lt;br /&gt;&lt;br /&gt;以下、「窓使いの憂鬱」と異なる部分について記載します。&lt;br /&gt;&lt;br /&gt;3.1. マウスイベントの置換&lt;br /&gt;&lt;br /&gt;いくつかのマウスイベントをキーイベントと同様に置換可能です。&lt;br /&gt;各マウスイベントはE1-プレフィックスを持つ擬似的なスキャンコード&lt;br /&gt;として扱われます。&lt;br /&gt;# WH_KEYBOARD_LLを使うyamyではE1-プレフィックスのキーコードを&lt;br /&gt;# を拾うことができないため、実際のキーコードと衝突する可能性はない。&lt;br /&gt;&lt;br /&gt;マウスイベントの置換はデフォルトではオフです。&lt;br /&gt;有効化するためには.mayu ファイルに&lt;br /&gt;&lt;br /&gt;def option mouse-event = true&lt;br /&gt;&lt;br /&gt;と記述します。&lt;br /&gt;&lt;br /&gt;置換可能なマウスイベントは以下の通りです。&lt;br /&gt;# ()内は使われる疑似スキャンコード&lt;br /&gt;* マウスドラッグ Drag(E1-0x00)&lt;br /&gt;* 左ボタン LButton(E1-0x01)&lt;br /&gt;* 右ボタン RButton(E1-0x02)&lt;br /&gt;* 中ボタン MButton(E1-0x03)&lt;br /&gt;* ホイール前進 WheelForward(E1-0x04)&lt;br /&gt;* ホイール後退 WheelBackward(E1-0x05)&lt;br /&gt;* Xボタン1 XButton1(E1-0x06)&lt;br /&gt;* Xボタン2 XButton1(E1-0x07)&lt;br /&gt;* 横スクロール(チルト)右 TiltRight(E1-0x08) ※Vista以降&lt;br /&gt;* 横スクロール(チルト)左 TiltLeft(E1-0x09) ※Vista以降&lt;br /&gt;&lt;br /&gt;このうちDragイベントは、いずれからマウスボタンを押したままボタンを&lt;br /&gt;押した場所から一定以上マウスを移動させた際にDownが発生し、Down発生後&lt;br /&gt;にボタンを離すとUpが発生する疑似イベントです。&lt;br /&gt;Dragイベント発生までの移動距離の閾値はピクセル単位で&lt;br /&gt;&lt;br /&gt;def option drag-threshold = 30&lt;br /&gt;&lt;br /&gt;のように指定します。閾値として0を指定するもしくは閾値を指定しない&lt;br /&gt;場合、Dragイベントは発生しません。&lt;br /&gt;&lt;br /&gt;※注意1※&lt;br /&gt;WheelForward/WheelBackward/TiltRight/TiltLeftには物理的に&amp;quot;Up&amp;quot;&lt;br /&gt;イベントがありませんので、yamy内部では押し下げ時にDown/Upの&lt;br /&gt;両イベントが発生します。このためこれらのイベントをモディファイア&lt;br /&gt;にすることはできません。&lt;br /&gt;&lt;br /&gt;※注意2※&lt;br /&gt;キーイベントと同様にマウスイベントも「調査」ウィンドウを使って&lt;br /&gt;コードを調査することができますが、キーイベントと異なり調査時も&lt;br /&gt;イベントは捨てません。これは「調査」モードから抜けられなくなら&lt;br /&gt;ないための措置です。&lt;br /&gt;&lt;br /&gt;※注意3※&lt;br /&gt;Vista以降ではyamyを標準権限で起動し、option mouse-event を有効に&lt;br /&gt;した場合、管理者権限のアプリに(置換の有無にかかわらず)マウス&lt;br /&gt;イベントが届かなくなります。yamyを管理者権限で起動すれば標準権限&lt;br /&gt;・管理者権限どちらにもマウスイベントが届きます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.2. NLSキーのエスケープ&lt;br /&gt;&lt;br /&gt;日本語環境の場合、日本語処理に使われるいくつかのキーに対しては&lt;br /&gt;WH_KEYBOARD_LLフック前に特殊処理が行われるため、yamyによって&lt;br /&gt;正常にフックできません。&lt;br /&gt;以下、便宜上これらのキーをNLSキー(National Language Support Key)&lt;br /&gt;と呼びます。&lt;br /&gt;&lt;br /&gt;キーボードレイアウトドライバとしてkbd106.dllを用いている場合は&lt;br /&gt;NLSキーは以下の4つです。&lt;br /&gt;# []内はスキャンコード&lt;br /&gt;* 半角・全角[0x29]&lt;br /&gt;* 英数(CapsLock)[0x3a]&lt;br /&gt;* ひらがな[0x70]&lt;br /&gt;* 無変換[0x7b]&lt;br /&gt;&lt;br /&gt;キーボードレイアウトドライバとしてkbd101.dllを用いている場合は&lt;br /&gt;NLSキーは以下の2つです。&lt;br /&gt;# []内はスキャンコード&lt;br /&gt;* `(~)[0x29]&lt;br /&gt;* CapsLock[0x3a]&lt;br /&gt;&lt;br /&gt;これらのNLSキーが正しくフックできないことへの対策としてはレジストリ&lt;br /&gt;の Scancode Map を使ってこれらのキーを特殊扱いされない別のキーに&lt;br /&gt;置き換える方法があります。Scancode Map の仕様については、&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/whdc/archive/w2kscan-map.mspx&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.microsoft.com/whdc/archive/w2kscan-map.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;に情報があります。また以下のサイトの記述も参考になります。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.jaist.ac.jp/~fujieda/scancode.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.jaist.ac.jp/~fujieda/scancode.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sgry.jp/articles/scancodemap.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://sgry.jp/articles/scancodemap.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;尚、RC版で確認した限りでは Windows7 の場合、HKEY_LOCAL_MACHINE&lt;br /&gt;の Scancode Map が有効のようです。RTM版でどうかは未確認です。&lt;br /&gt;&lt;br /&gt;同梱している workaround.reg は具体的な置き換えのサンプルです。&lt;br /&gt;このサンプルではこれらNLSキーに E0 プレフィックスを付加することにより、&lt;br /&gt;別キーに変換しています。同梱の *.mayu はこの Scancode Map の下でこれら&lt;br /&gt;E0を付加されたキーがあたかも本来のキーのように動作するように&lt;br /&gt;設定が追加されています。&lt;br /&gt;&lt;br /&gt;workaround.mayu にはこの対策に対応した追加部分を抽出していますので、&lt;br /&gt;独自の .mayu を使っている場合はこれを参考にして下さい。&lt;br /&gt;&lt;br /&gt;また「英数キーとCtrlキーの入れ替え」等の単純な置き換えで十分な&lt;br /&gt;場合はこれらに絞った Scancode Map を作成しても良いでしょう。&lt;br /&gt;&lt;br /&gt;workaround.reg のような「存在しないキーへの置き換え」による対策は&lt;br /&gt;yamyが動作していない場合これらのキーが機能しなくなるという副作用&lt;br /&gt;があります。&lt;br /&gt;&lt;br /&gt;そこでworkaround.reg相当の置き換え(以下、これを「NLSキーのエスケープ」&lt;br /&gt;と呼ぶ)をyamyの動作中のみ行う機能を実験的に実装しました。&lt;br /&gt;&lt;br /&gt;yamy起動時にレジストリをworkaround.reg相当に書き換えてから&lt;br /&gt;(ログアウトすることなく)OSにScancode Map読み込ませた後、すぐに&lt;br /&gt;レジストリを元に戻します。yamy終了時には(レジストリは既に元に&lt;br /&gt;戻っているので)単にOSに再読み込みのみを指示します。&lt;br /&gt;これにより、yamyの動作中のみNLSのエスケープを実現します。&lt;br /&gt;&lt;br /&gt;尚、スクリーンロック(別ユーザへの簡易ユーザ切り替えを含む)した場合&lt;br /&gt;及び、yamy を「一時停止」した場合はエスケープが解除され、元に戻ったら&lt;br /&gt;再度エスケープを行います。&lt;br /&gt;&lt;br /&gt;使用するレジストリはWindows7以外の場合は、&lt;br /&gt;HKEY_CURRENT_USER\KeyBoard Layout\Scancode Map&lt;br /&gt;Windows7の場合は、&lt;br /&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout\Scancode Map&lt;br /&gt;です。&lt;br /&gt;&lt;br /&gt;この機能はデフォルトでは無効であり、有効にするためには yamy.ini において、&lt;br /&gt;&lt;br /&gt;escapeNLSKeys=0&lt;br /&gt;&lt;br /&gt;を &lt;br /&gt;&lt;br /&gt;escapeNLSKeys=1&lt;br /&gt;&lt;br /&gt;に変更します。ただしこの機能の利用に際しては以下の点に留意して下さい。&lt;br /&gt;&lt;br /&gt;* 実験的な機能であり十分な動作実績がなく危険が伴います。&lt;br /&gt;&lt;br /&gt;* yamyを実行するユーザにSeDebugPrivilege特権が必要です。Administrators&lt;br /&gt;  グループに属するユーザは既定でこの特権を持っています。&lt;br /&gt;  ただしUACが有効な場合は、加えて管理者として実行する必要があります。&lt;br /&gt;&lt;br /&gt;* 対象となるNLSキーが既にScancode Mapで置き換えられている場合は&lt;br /&gt;  エスケープは行われません。&lt;br /&gt;&lt;br /&gt;* エスケープのためレジストリを書き換えている一瞬の間にyamyが&lt;br /&gt;  異常終了した場合、エスケープ用のScancode Mapがレジストリに&lt;br /&gt;  残ります。この場合、regeditを使って元に戻して下さい。&lt;br /&gt;&lt;br /&gt;* 上記の瞬間以外にyamyが異常終了した場合、レジストリは元に戻って&lt;br /&gt;  いますが、OS内部のScancode Mapは残っているので、一旦ログオフ・&lt;br /&gt;  ログオンして元に戻すか、yamyを再起動して下さい。&lt;br /&gt;&lt;br /&gt;* VMware に対し、Scancode Map は有効ですが、yamy によるキー置換は&lt;br /&gt;  は働きません。このためエスケープされた(E0-が付加された)ままで&lt;br /&gt;  ゲストOSに届きます。ゲストも Windows の場合はゲスト内でも yamy&lt;br /&gt;  を動作させれば元のキーに置換できます。また、Linux の場合は&lt;br /&gt;  setkeycodes コマンドを使ってエスケープされたキーを元のスキャン&lt;br /&gt;  コードに置換できます。例えば101キーボードを使用している場合は&lt;br /&gt;  以下のコマンドによってエスケープされた `(~)[0x29] と CapsLock[0x3a]&lt;br /&gt;  を元のコードに戻せます。&lt;br /&gt;  &amp;gt; setkeycodes e029 41 e03a 58&lt;br /&gt;  その他のスキャンコードの置換ができないOSがゲスト場合は yamy を&lt;br /&gt;  一時停止してエスケープを解除して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.3. &amp;amp;CancelPrefix関数&lt;br /&gt;&lt;br /&gt;Prefix状態を強制的に解除するための関数&amp;amp;CancelPrefixが追加されました。&lt;br /&gt;One Shotモディファイアに指定しているキーを離した際にPrefixを解除する&lt;br /&gt;ために導入しました。&lt;br /&gt;&lt;br /&gt;3.4. その他&lt;br /&gt;&lt;br /&gt;* インストーラはありません。yamy-0.03.zip を任意のフォルダに展開し、&lt;br /&gt;  yamy.exe を実行して下さい。&lt;br /&gt;&lt;br /&gt;* レジストリではなく、yamy.exe と同じフォルダにある yamy.ini に&lt;br /&gt;  設定情報の保存します。&lt;br /&gt;&lt;br /&gt;* 設定ファイルはホームディレクトリではなく、yamy.exe のあるフォルダに&lt;br /&gt;  .mayu というファイル名で置いて下さい。&lt;br /&gt;&lt;br /&gt;* キーボードの種別の判定は行いませんので、初回起動時にメニューの&lt;br /&gt;  「選択」で適切な設定を選択して下さい。&lt;br /&gt;&lt;br /&gt;* リモートデスクトップでのログオン時でも起動を抑制しません。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. 制限事項・不具合&lt;br /&gt;&lt;br /&gt;* 画面ロック時はキー置換が働きません。また、この制限により画面ロック&lt;br /&gt;  への遷移時に押し下げられているキーがあった場合、そのキーが押しっぱなし&lt;br /&gt;  になることがあります。この場合、そのキーを空押しすることによって&lt;br /&gt;  押しっぱなしが解消します。特に Alt キーが押しっぱなしだと、パスワード&lt;br /&gt;  が入力できなくなるので注意して下さい。&lt;br /&gt;&lt;br /&gt;* ユーザモードでのフックのため、以下の場合は機能しないと思われます。&lt;br /&gt;  - WH_KEYBOARD_LL をフックする他アプリとの共存&lt;br /&gt;  - DirectInput を使ったプログラム&lt;br /&gt;&lt;br /&gt;* Pauseキーのようにスキャンコードに E1 プレフィックスが付いたキー&lt;br /&gt;  は置き換えられません。そのようなキーを使用したい場合は Scancode Map&lt;br /&gt;  レジストリを併用して下さい。&lt;br /&gt;&lt;br /&gt;* セキュリティソフトによってはフックDLLのインストールをブロックされる&lt;br /&gt;  場合がありますので、その場合は yamy32/yamy64 を例外として登録して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. ビルド方法&lt;br /&gt;&lt;br /&gt;Visual Studio 2008 Professional + Windows SDK v6.1で確認しています。&lt;br /&gt;yamyのビルドにはx64用コンパイラが必要になりますが、Visual Studio 2008&lt;br /&gt;の既定のインストールではインストールされませんので追加でインストール&lt;br /&gt;する必要があります。&lt;br /&gt;&lt;br /&gt;5.1.&lt;br /&gt;yamy と boost_1_38_0 のソースを入手し、以下の配置にて展開します。&lt;br /&gt;&lt;br /&gt;./&lt;br /&gt;   |&lt;br /&gt;   +---boost_1_38_0/ ... &lt;a href=&quot;http://www.boost.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.boost.org/&lt;/a&gt; から入手したアーカイブを展開&lt;br /&gt;   |&lt;br /&gt;   +---yamy/ ... &amp;quot;git clone git://git.sourceforge.jp/gitroot/yamy/yamy.git&amp;quot;等により展開&lt;br /&gt;       |&lt;br /&gt;       +---proj/ ...&lt;br /&gt;       +---tools/ ...&lt;br /&gt;&lt;br /&gt;5.2.&lt;br /&gt;yamy/proj/yamy.sln を Visual Studio で開き、ソリューションをビルドします。&lt;br /&gt;&lt;br /&gt;5.3.&lt;br /&gt;yamy/{Debug,Release}/ 以下にバイナリと zip パッケージが生成されます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. 著作権・ライセンス&lt;br /&gt;&lt;br /&gt;YAMYの著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Yet Another Mado tsukai no Yuutsu(YAMY)&lt;br /&gt;&lt;br /&gt;    Copyright (C) 2009, KOBAYASHI Yoshiaki &amp;lt;&lt;a href=&quot;mailto:gimy@users.sourceforge.jp&quot;&gt;gimy@users.sourceforge.jp&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYの派生元である「窓使いの憂鬱」の著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  窓使いの憂鬱&lt;br /&gt;&lt;br /&gt;    Copyright (C) 1999-2005, TAGA Nayuta &amp;lt;&lt;a href=&quot;mailto:nayuta@users.sourceforge.net&quot;&gt;nayuta@users.sourceforge.net&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYが利用しているBoostライブラリのライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Boost Software License - Version 1.0 - August 17th, 2003&lt;br /&gt;&lt;br /&gt;  Permission is hereby granted, free of charge, to any person or organization&lt;br /&gt;  obtaining a copy of the software and accompanying documentation covered by&lt;br /&gt;  this license (the &amp;quot;Software&amp;quot;) to use, reproduce, display, distribute,&lt;br /&gt;  execute, and transmit the Software, and to prepare derivative works of the&lt;br /&gt;  Software, and to permit third-parties to whom the Software is furnished to&lt;br /&gt;  do so, all subject to the following:&lt;br /&gt;&lt;br /&gt;  The copyright notices in the Software and this entire statement, including&lt;br /&gt;  the above license grant, this restriction and the following disclaimer,&lt;br /&gt;  must be included in all copies of the Software, in whole or in part, and&lt;br /&gt;  all derivative works of the Software, unless such copies or derivative&lt;br /&gt;  works are solely in the form of machine-executable object code generated by&lt;br /&gt;  a source language processor.&lt;br /&gt;&lt;br /&gt;  THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br /&gt;  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT&lt;br /&gt;  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE&lt;br /&gt;  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,&lt;br /&gt;  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER&lt;br /&gt;  DEALINGS IN THE SOFTWARE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. 謝辞&lt;br /&gt;&lt;br /&gt;言うまでもなく「窓使いの憂鬱」がなければYAMYは存在し得ませんでした。&lt;br /&gt;「窓使いの憂鬱」の作者である多賀奈由太さんと開発に貢献した方々にこの&lt;br /&gt;場を借りて深くお礼申し上げます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. 履歴&lt;br /&gt;&lt;br /&gt;2009/09/19 ver.0.03&lt;br /&gt;&lt;br /&gt;* マウスイベント置換有効時に固まる場合がある問題を修正&lt;br /&gt;&lt;br /&gt;* 入力処理スレッドにおいてキューの開放と待ちを不可分に行うよう変更&lt;br /&gt;&lt;br /&gt;* 特定操作でIEをアクティブにするとフォーム内でEmacsEditにならないことがある問題(チケット#18663)を修正&lt;br /&gt;&lt;br /&gt;* メールスロットが使えない場合にはWM_COPYDATAを使って通知する(チケット#17769,#18662を修正)&lt;br /&gt;&lt;br /&gt;* 一時停止中はフックしたスキャンコードをそのままスルーするように変更(チケット#18691参照)&lt;br /&gt;&lt;br /&gt;* yamy64 で &amp;amp;InvestigateCommand が機能しない問題を修正&lt;br /&gt;&lt;br /&gt;* 終了後に特定のプロセスが原因で mayu{32,64}.dll が削除できなくなる問題を修正&lt;br /&gt;&lt;br /&gt;2009/08/30 ver.0.02&lt;br /&gt;&lt;br /&gt;* yamy{32,64}/yamyd32 を yamy.exe と同じフォルダから探すように変更&lt;br /&gt;&lt;br /&gt;* Vistaでの権限昇格実行時に標準権限アプリのキーマップがグローバルになる問題を修正&lt;br /&gt;&lt;br /&gt;* NLSキーのエスケープ機能を実験的に実装&lt;br /&gt;&lt;br /&gt;* &amp;amp;CancelPrefix関数を追加&lt;br /&gt;&lt;br /&gt;* マウスイベントの置換機能を追加&lt;br /&gt;&lt;br /&gt;* リモートデスクトップ時の起動抑制を廃止&lt;br /&gt;&lt;br /&gt;* ビルドシステムを変更&lt;br /&gt;  - makefileからVC++2008のプロジェクトに移行&lt;br /&gt;  - makefuncとzipでのパッケージ作成をJScriptで再実装&lt;br /&gt;&lt;br /&gt;* 不具合修正&lt;br /&gt;  - ハングしているプロセスがあると終了できない(チケット#17643)&lt;br /&gt;  - 右シフトが押されたままになることがある(チケット#17607)&lt;br /&gt;  - yamyのダイアログを消す際に5秒程度フリーズすることがある(チケット#17767)&lt;br /&gt;  - 数秒間キー入力が滞ることがある(チケット#17576)&lt;br /&gt;&lt;br /&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;ChangeLog&lt;/h2&gt;&lt;p&gt;2009/09/19 ver.0.03&lt;br /&gt;&lt;br /&gt;* マウスイベント置換有効時に固まる場合がある問題を修正&lt;br /&gt;&lt;br /&gt;* 入力処理スレッドにおいてキューの開放と待ちを不可分に行うよう変更&lt;br /&gt;&lt;br /&gt;* 特定操作でIEをアクティブにするとフォーム内でEmacsEditにならないことがある問題(チケット#18663)を修正&lt;br /&gt;&lt;br /&gt;* メールスロットが使えない場合にはWM_COPYDATAを使って通知する(チケット#17769,#18662を修正)&lt;br /&gt;&lt;br /&gt;* 一時停止中はフックしたスキャンコードをそのままスルーするように変更(チケット#18691参照)&lt;br /&gt;&lt;br /&gt;* yamy64 で &amp;amp;InvestigateCommand が機能しない問題を修正&lt;br /&gt;&lt;br /&gt;* 終了後に特定のプロセスが原因で mayu{32,64}.dll が削除できなくなる問題を修正&lt;br /&gt;&lt;br /&gt;2009/08/30 ver.0.02&lt;br /&gt;&lt;br /&gt;* yamy{32,64}/yamyd32 を yamy.exe と同じフォルダから探すように変更&lt;br /&gt;&lt;br /&gt;* Vistaでの権限昇格実行時に標準権限アプリのキーマップがグローバルになる問題を修正&lt;br /&gt;&lt;br /&gt;* NLSキーのエスケープ機能を実験的に実装&lt;br /&gt;&lt;br /&gt;* &amp;amp;CancelPrefix関数を追加&lt;br /&gt;&lt;br /&gt;* マウスイベントの置換機能を追加&lt;br /&gt;&lt;br /&gt;* リモートデスクトップ時の起動抑制を廃止&lt;br /&gt;&lt;br /&gt;* ビルドシステムを変更&lt;br /&gt;  - makefileからVC++2008のプロジェクトに移行&lt;br /&gt;  - makefuncとzipでのパッケージ作成をJScriptで再実装&lt;br /&gt;&lt;br /&gt;* 不具合修正&lt;br /&gt;  - ハングしているプロセスがあると終了できない(チケット#17643)&lt;br /&gt;  - 右シフトが押されたままになることがある(チケット#17607)&lt;br /&gt;  - yamyのダイアログを消す際に5秒程度フリーズすることがある(チケット#17767)&lt;br /&gt;  - 数秒間キー入力が滞ることがある(チケット#17576)&lt;br /&gt;&lt;br /&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;</description>
  </item>
  <item>
   <pubDate>Sat, 29 Aug 2009 16:32:00 GMT</pubDate>
   <title>yamy - 0.02</title>
   <link>http://sourceforge.jp/projects/yamy/releases/43355</link>
   <guid>http://sourceforge.jp/projects/yamy/releases/43355</guid>
   <dc:creator>gimy (gimy)</dc:creator>
   <description>&lt;h2&gt;ReleaseNote&lt;/h2&gt;&lt;p&gt;Yet Another Mado tsukai no Yuutsu(YAMY) ver.0.02&lt;br /&gt;&lt;br /&gt;1. 概要&lt;br /&gt;&lt;br /&gt;Windows用汎用キーバインディング変更ソフト「窓使いの憂鬱(以後mayuと表記)」&lt;br /&gt;(&lt;a href=&quot;http://mayu.sourceforge.net/)&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/)&lt;/a&gt;のキー入力置換をドライバベースからユーザ&lt;br /&gt;モードフックベースに変更した派生ソフトウェアです。&lt;br /&gt;既に開発を終了したmayuをforkすることにより、Windows Vista以降のOSのサポート&lt;br /&gt;を目指しています。&lt;br /&gt;&lt;br /&gt;オリジナルのmayuではフィルタドライバによりキーの置き換えを実現していましたが、&lt;br /&gt;本プロジェクトではそれをWH_KEYBOARD_LLのフックとSendInput() APIに変更します。&lt;br /&gt;これにより、mayuほどの低層での強力な&lt;br /&gt;置換は期待できなくなるものの、ドライバへの署名を要することなく、&lt;br /&gt;Vista以降のWindows(特に64bit版)への対応を目指します。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. ファイル構成&lt;br /&gt;&lt;br /&gt;yamy.exe	... yamy32/yamy64のどちらかを起動するランチャ&lt;br /&gt;yamy32		... 32bit版yamy本体&lt;br /&gt;yamy64		... 64bit版yamy本体&lt;br /&gt;yamy32.dll	... 32bit版フックDLL&lt;br /&gt;yamy64.dll	... 64bit版フックDLL&lt;br /&gt;yamyd32		... 64bit環境で32bitプロセスをフックするための補助プログラム&lt;br /&gt;yamy.ini	... 設定ファイル(mayu でのレジストリ設定に相当)&lt;br /&gt;workaround.reg	... 特定キー問題対策用Scancode Mapレジストリサンプル&lt;br /&gt;readme.txt      ... 本ドキュメント&lt;br /&gt;*.mayu		... キーバインド設定ファイル&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 使用方法&lt;br /&gt;&lt;br /&gt;基本的な使用方法は「窓使いの憂鬱」と同じです。&lt;br /&gt;&lt;a href=&quot;http://mayu.sourceforge.net/mayu/doc/README-ja.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/mayu/doc/README-ja.html&lt;/a&gt;&lt;br /&gt;を参照して下さい。&lt;br /&gt;&lt;br /&gt;以下、「窓使いの憂鬱」と異なる部分について記載します。&lt;br /&gt;&lt;br /&gt;3.1. マウスイベントの置換&lt;br /&gt;&lt;br /&gt;いくつかのマウスイベントをキーイベントと同様に置換可能です。&lt;br /&gt;各マウスイベントはE1-プレフィックスを持つ擬似的なスキャンコード&lt;br /&gt;として扱われます。&lt;br /&gt;# WH_KEYBOARD_LLを使うyamyではE1-プレフィックスのキーコードを&lt;br /&gt;# を拾うことができないため、実際のキーコードと衝突する可能性はない。&lt;br /&gt;&lt;br /&gt;マウスイベントの置換はデフォルトではオフです。&lt;br /&gt;有効化するためには.mayu ファイルに&lt;br /&gt;&lt;br /&gt;def option mouse-event = true&lt;br /&gt;&lt;br /&gt;と記述します。&lt;br /&gt;&lt;br /&gt;置換可能なマウスイベントは以下の通りです。&lt;br /&gt;# ()内は使われる疑似スキャンコード&lt;br /&gt;* マウスドラッグ Drag(E1-0x00)&lt;br /&gt;* 左ボタン LButton(E1-0x01)&lt;br /&gt;* 右ボタン RButton(E1-0x02)&lt;br /&gt;* 中ボタン MButton(E1-0x03)&lt;br /&gt;* ホイール前進 WheelForward(E1-0x04)&lt;br /&gt;* ホイール後退 WheelBackward(E1-0x05)&lt;br /&gt;* Xボタン1 XButton1(E1-0x06)&lt;br /&gt;* Xボタン2 XButton1(E1-0x07)&lt;br /&gt;* 横スクロール(チルト)右 TiltRight(E1-0x08) ※Vista以降&lt;br /&gt;* 横スクロール(チルト)左 TiltLeft(E1-0x09) ※Vista以降&lt;br /&gt;&lt;br /&gt;このうちDragイベントは、いずれからマウスボタンを押したままボタンを&lt;br /&gt;押した場所から一定以上マウスを移動させた際にDownが発生し、Down発生後&lt;br /&gt;にボタンを離すとUpが発生する疑似イベントです。&lt;br /&gt;Dragイベント発生までの移動距離の閾値はピクセル単位で&lt;br /&gt;&lt;br /&gt;def option drag-threshold = 30&lt;br /&gt;&lt;br /&gt;のように指定します。閾値として0を指定するもしくは閾値を指定しない&lt;br /&gt;場合、Dragイベントは発生しません。&lt;br /&gt;&lt;br /&gt;※注意1※&lt;br /&gt;WheelForward/WheelBackward/TiltRight/TiltLeftには物理的に&amp;quot;Up&amp;quot;&lt;br /&gt;イベントがありませんので、yamy内部では押し下げ時にDown/Upの&lt;br /&gt;両イベントが発生します。このためこれらのイベントをモディファイア&lt;br /&gt;にすることはできません。&lt;br /&gt;&lt;br /&gt;※注意2※&lt;br /&gt;キーイベントと同様にマウスイベントも「調査」ウィンドウを使って&lt;br /&gt;コードを調査することができますが、キーイベントと異なり調査時も&lt;br /&gt;イベントは捨てません。これは「調査」モードから抜けられなくなら&lt;br /&gt;ないための措置です。&lt;br /&gt;&lt;br /&gt;※注意3※&lt;br /&gt;Vista以降ではyamyを標準権限で起動し、option mouse-event を有効に&lt;br /&gt;した場合、管理者権限のアプリに(置換の有無にかかわらず)マウス&lt;br /&gt;イベントが届かなくなります。yamyを管理者権限で起動すれば標準権限&lt;br /&gt;・管理者権限どちらにもマウスイベントが届きます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.2. NLSキーのエスケープ&lt;br /&gt;&lt;br /&gt;日本語環境の場合、日本語処理に使われるいくつかのキーに対しては&lt;br /&gt;WH_KEYBOARD_LLフック前に特殊処理が行われるため、yamyによって&lt;br /&gt;正常にフックできません。&lt;br /&gt;以下、便宜上これらのキーをNLSキー(National Language Support Key)&lt;br /&gt;と呼びます。&lt;br /&gt;&lt;br /&gt;キーボードレイアウトドライバとしてkbd106.dllを用いている場合は&lt;br /&gt;NLSキーは以下の4つです。&lt;br /&gt;# []内はスキャンコード&lt;br /&gt;* 半角・全角[0x29]&lt;br /&gt;* 英数(CapsLock)[0x3a]&lt;br /&gt;* ひらがな[0x70]&lt;br /&gt;* 無変換[0x7b]&lt;br /&gt;&lt;br /&gt;キーボードレイアウトドライバとしてkbd101.dllを用いている場合は&lt;br /&gt;NLSキーは以下の2つです。&lt;br /&gt;# []内はスキャンコード&lt;br /&gt;* `(~)[0x29]&lt;br /&gt;* CapsLock[0x3a]&lt;br /&gt;&lt;br /&gt;これらのNLSキーが正しくフックできないことへの対策としてはレジストリ&lt;br /&gt;の Scancode Map を使ってこれらのキーを特殊扱いされない別のキーに&lt;br /&gt;置き換える方法があります。Scancode Map の仕様については、&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.microsoft.com/whdc/archive/w2kscan-map.mspx&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.microsoft.com/whdc/archive/w2kscan-map.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;に情報があります。また以下のサイトの記述も参考になります。&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.jaist.ac.jp/~fujieda/scancode.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.jaist.ac.jp/~fujieda/scancode.html&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://sgry.jp/articles/scancodemap.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://sgry.jp/articles/scancodemap.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;尚、RC版で確認した限りでは Windows7 の場合、HKEY_LOCAL_MACHINE&lt;br /&gt;の Scancode Map が有効のようです。RTM版でどうかは未確認です。&lt;br /&gt;&lt;br /&gt;同梱している workaround.reg は具体的な置き換えのサンプルです。&lt;br /&gt;このサンプルではこれらNLSキーに E0 プレフィックスを付加することにより、&lt;br /&gt;別キーに変換しています。同梱の *.mayu はこの Scancode Map の下でこれら&lt;br /&gt;E0を付加されたキーがあたかも本来のキーのように動作するように&lt;br /&gt;設定が追加されています。&lt;br /&gt;&lt;br /&gt;workaround.mayu にはこの対策に対応した追加部分を抽出していますので、&lt;br /&gt;独自の .mayu を使っている場合はこれを参考にして下さい。&lt;br /&gt;&lt;br /&gt;また「英数キーとCtrlキーの入れ替え」等の単純な置き換えで十分な&lt;br /&gt;場合はこれらに絞った Scancode Map を作成しても良いでしょう。&lt;br /&gt;&lt;br /&gt;workaround.reg のような「存在しないキーへの置き換え」による対策は&lt;br /&gt;yamyが動作していない場合これらのキーが機能しなくなるという副作用&lt;br /&gt;があります。&lt;br /&gt;&lt;br /&gt;そこでworkaround.reg相当の置き換え(以下、これを「NLSキーのエスケープ」&lt;br /&gt;と呼ぶ)をyamyの動作中のみ行う機能を実験的に実装しました。&lt;br /&gt;&lt;br /&gt;yamy起動時にレジストリをworkaround.reg相当に書き換えてから&lt;br /&gt;(ログアウトすることなく)OSにScancode Map読み込ませた後、すぐに&lt;br /&gt;レジストリを元に戻します。yamy終了時には(レジストリは既に元に&lt;br /&gt;戻っているので)単にOSに再読み込みのみを指示します。&lt;br /&gt;これにより、yamyの動作中のみNLSのエスケープを実現します。&lt;br /&gt;&lt;br /&gt;尚、スクリーンロック(別ユーザへの簡易ユーザ切り替えを含む)した場合&lt;br /&gt;及び、yamy を「一時停止」した場合はエスケープが解除され、元に戻ったら&lt;br /&gt;再度エスケープを行います。&lt;br /&gt;&lt;br /&gt;使用するレジストリはWindows7以外の場合は、&lt;br /&gt;HKEY_CURRENT_USER\KeyBoard Layout\Scancode Map&lt;br /&gt;Windows7の場合は、&lt;br /&gt;HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout\Scancode Map&lt;br /&gt;です。&lt;br /&gt;&lt;br /&gt;この機能はデフォルトでは無効であり、有効にするためには yamy.ini において、&lt;br /&gt;&lt;br /&gt;escapeNLSKeys=0&lt;br /&gt;&lt;br /&gt;を &lt;br /&gt;&lt;br /&gt;escapeNLSKeys=1&lt;br /&gt;&lt;br /&gt;に変更します。ただしこの機能の利用に際しては以下の点に留意して下さい。&lt;br /&gt;&lt;br /&gt;* 実験的な機能であり十分な動作実績がなく危険が伴います。&lt;br /&gt;&lt;br /&gt;* yamyを実行するユーザにSeDebugPrivilege特権が必要です。Administrators&lt;br /&gt;  グループに属するユーザは既定でこの特権を持っています。&lt;br /&gt;  ただしUACが有効な場合は、加えて管理者として実行する必要があります。&lt;br /&gt;&lt;br /&gt;* 対象となるNLSキーが既にScancode Mapで置き換えられている場合は&lt;br /&gt;  エスケープは行われません。&lt;br /&gt;&lt;br /&gt;* エスケープのためレジストリを書き換えている一瞬の間にyamyが&lt;br /&gt;  異常終了した場合、エスケープ用のScancode Mapがレジストリに&lt;br /&gt;  残ります。この場合、regeditを使って元に戻して下さい。&lt;br /&gt;&lt;br /&gt;* 上記の瞬間以外にyamyが異常終了した場合、レジストリは元に戻って&lt;br /&gt;  いますが、OS内部のScancode Mapは残っているので、一旦ログオフ・&lt;br /&gt;  ログオンして元に戻すか、yamyを再起動して下さい。&lt;br /&gt;&lt;br /&gt;* VMware に対し、Scancode Map は有効ですが、yamy によるキー置換は&lt;br /&gt;  は働きません。このためエスケープされた(E0-が付加された)ままで&lt;br /&gt;  ゲストOSに届きます。ゲストも Windows の場合はゲスト内でも yamy&lt;br /&gt;  を動作させれば元のキーに置換できますが、他のOS(Linux等)の場合は&lt;br /&gt;  yamy を一時停止してエスケープを解除して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.3. &amp;amp;CancelPrefix関数&lt;br /&gt;&lt;br /&gt;Prefix状態を強制的に解除するための関数&amp;amp;CancelPrefixが追加されました。&lt;br /&gt;One Shotモディファイアに指定しているキーを離した際にPrefixを解除する&lt;br /&gt;ために導入しました。&lt;br /&gt;&lt;br /&gt;3.4. その他&lt;br /&gt;&lt;br /&gt;* インストーラはありません。yamy-0.02.zip を任意のフォルダに展開し、&lt;br /&gt;  yamy.exe を実行して下さい。&lt;br /&gt;&lt;br /&gt;* レジストリではなく、yamy.exe と同じフォルダにある yamy.ini に&lt;br /&gt;  設定情報の保存します。&lt;br /&gt;&lt;br /&gt;* 設定ファイルはホームディレクトリではなく、yamy.exe のあるフォルダに&lt;br /&gt;  .mayu というファイル名で置いて下さい。&lt;br /&gt;&lt;br /&gt;* キーボードの種別の判定は行いませんので、初回起動時にメニューの&lt;br /&gt;  「選択」で適切な設定を選択して下さい。&lt;br /&gt;&lt;br /&gt;* リモートデスクトップでのログオン時でも起動を抑制しません。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. 制限事項・不具合&lt;br /&gt;&lt;br /&gt;* 画面ロック時はキー置換が働きません。また、この制限により画面ロック&lt;br /&gt;  への遷移時に押し下げられているキーがあった場合、そのキーが押しっぱなし&lt;br /&gt;  になることがあります。この場合、そのキーを空押しすることによって&lt;br /&gt;  押しっぱなしが解消します。特に Alt キーが押しっぱなしだと、パスワード&lt;br /&gt;  が入力できなくなるので注意して下さい。&lt;br /&gt;&lt;br /&gt;* Vistaでの保護モード有効なIE7ではキーマップがグローバルになります。&lt;br /&gt;  IE8では問題ありません。&lt;br /&gt;&lt;br /&gt;* ユーザモードでのフックのため、以下の場合は機能しないと思われます。&lt;br /&gt;  - WH_KEYBOARD_LL をフックする他アプリとの共存&lt;br /&gt;  - DirectInput を使ったプログラム&lt;br /&gt;&lt;br /&gt;* Pauseキーのようにスキャンコードに E1 プレフィックスが付いたキー&lt;br /&gt;  は置き換えられません。そのようなキーを使用したい場合は Scancode Map&lt;br /&gt;  レジストリを併用して下さい。&lt;br /&gt;&lt;br /&gt;* セキュリティソフトによってはフックDLLのインストールをブロックされる&lt;br /&gt;  場合がありますので、その場合は yamy32/yamy64 を例外として登録して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. ビルド方法&lt;br /&gt;&lt;br /&gt;Visual Studio 2008 Professional + Windows SDK v6.1で確認しています。&lt;br /&gt;yamyのビルドにはx64用コンパイラが必要になりますが、Visual Studio 2008&lt;br /&gt;の既定のインストールではインストールされませんので追加でインストール&lt;br /&gt;する必要があります。&lt;br /&gt;&lt;br /&gt;5.1.&lt;br /&gt;yamy と boost_1_38_0 のソースを入手し、以下の配置にて展開します。&lt;br /&gt;&lt;br /&gt;./&lt;br /&gt;   |&lt;br /&gt;   +---boost_1_38_0/ ... &lt;a href=&quot;http://www.boost.org/&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://www.boost.org/&lt;/a&gt; から入手したアーカイブを展開&lt;br /&gt;   |&lt;br /&gt;   +---yamy/ ... &amp;quot;git clone git://git.sourceforge.jp/gitroot/yamy/yamy.git&amp;quot;等により展開&lt;br /&gt;       |&lt;br /&gt;       +---proj/ ...&lt;br /&gt;       +---tools/ ...&lt;br /&gt;&lt;br /&gt;5.2.&lt;br /&gt;yamy/proj/yamy.sln を Visual Studio で開き、ソリューションをビルドします。&lt;br /&gt;&lt;br /&gt;5.3.&lt;br /&gt;yamy/{Debug,Release}/ 以下にバイナリと zip パッケージが生成されます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. 著作権・ライセンス&lt;br /&gt;&lt;br /&gt;YAMYの著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Yet Another Mado tsukai no Yuutsu(YAMY)&lt;br /&gt;&lt;br /&gt;    Copyright (C) 2009, KOBAYASHI Yoshiaki &amp;lt;&lt;a href=&quot;mailto:gimy@users.sourceforge.jp&quot;&gt;gimy@users.sourceforge.jp&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYの派生元である「窓使いの憂鬱」の著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  窓使いの憂鬱&lt;br /&gt;&lt;br /&gt;    Copyright (C) 1999-2005, TAGA Nayuta &amp;lt;&lt;a href=&quot;mailto:nayuta@users.sourceforge.net&quot;&gt;nayuta@users.sourceforge.net&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYが利用しているBoostライブラリのライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Boost Software License - Version 1.0 - August 17th, 2003&lt;br /&gt;&lt;br /&gt;  Permission is hereby granted, free of charge, to any person or organization&lt;br /&gt;  obtaining a copy of the software and accompanying documentation covered by&lt;br /&gt;  this license (the &amp;quot;Software&amp;quot;) to use, reproduce, display, distribute,&lt;br /&gt;  execute, and transmit the Software, and to prepare derivative works of the&lt;br /&gt;  Software, and to permit third-parties to whom the Software is furnished to&lt;br /&gt;  do so, all subject to the following:&lt;br /&gt;&lt;br /&gt;  The copyright notices in the Software and this entire statement, including&lt;br /&gt;  the above license grant, this restriction and the following disclaimer,&lt;br /&gt;  must be included in all copies of the Software, in whole or in part, and&lt;br /&gt;  all derivative works of the Software, unless such copies or derivative&lt;br /&gt;  works are solely in the form of machine-executable object code generated by&lt;br /&gt;  a source language processor.&lt;br /&gt;&lt;br /&gt;  THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br /&gt;  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT&lt;br /&gt;  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE&lt;br /&gt;  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,&lt;br /&gt;  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER&lt;br /&gt;  DEALINGS IN THE SOFTWARE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. 謝辞&lt;br /&gt;&lt;br /&gt;言うまでもなく「窓使いの憂鬱」がなければYAMYは存在し得ませんでした。&lt;br /&gt;「窓使いの憂鬱」の作者である多賀奈由太さんと開発に貢献した方々にこの&lt;br /&gt;場を借りて深くお礼申し上げます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;8. 履歴&lt;br /&gt;&lt;br /&gt;2009/08/30 ver.0.02&lt;br /&gt;&lt;br /&gt;* yamy{32,64}/yamyd32 を yamy.exe と同じフォルダから探すように変更&lt;br /&gt;&lt;br /&gt;* Vistaでの権限昇格実行時に標準権限アプリのキーマップがグローバルになる問題を修正&lt;br /&gt;&lt;br /&gt;* NLSキーのエスケープ機能を実験的に実装&lt;br /&gt;&lt;br /&gt;* &amp;amp;CancelPrefix関数を追加&lt;br /&gt;&lt;br /&gt;* マウスイベントの置換機能を追加&lt;br /&gt;&lt;br /&gt;* リモートデスクトップ時の起動抑制を廃止&lt;br /&gt;&lt;br /&gt;* ビルドシステムを変更&lt;br /&gt;  - makefileからVC++2008のプロジェクトに移行&lt;br /&gt;  - makefuncとzipでのパッケージ作成をJScriptで再実装&lt;br /&gt;&lt;br /&gt;* 不具合修正&lt;br /&gt;  - ハングしているプロセスがあると終了できない(チケット#17643)&lt;br /&gt;  - 右シフトが押されたままになることがある(チケット#17607)&lt;br /&gt;  - yamyのダイアログを消す際に5秒程度フリーズすることがある(チケット#17767)&lt;br /&gt;  - 数秒間キー入力が滞ることがある(チケット#17576)&lt;br /&gt;&lt;br /&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;ChangeLog&lt;/h2&gt;&lt;p&gt;2009/08/30 ver.0.02&lt;br /&gt;&lt;br /&gt;* yamy{32,64}/yamyd32 を yamy.exe と同じフォルダから探すように変更&lt;br /&gt;&lt;br /&gt;* Vistaでの権限昇格実行時に標準権限アプリのキーマップがグローバルになる問題を修正&lt;br /&gt;&lt;br /&gt;* NLSキーのエスケープ機能を実験的に実装&lt;br /&gt;&lt;br /&gt;* &amp;amp;CancelPrefix関数を追加&lt;br /&gt;&lt;br /&gt;* マウスイベントの置換機能を追加&lt;br /&gt;&lt;br /&gt;* リモートデスクトップ時の起動抑制を廃止&lt;br /&gt;&lt;br /&gt;* ビルドシステムを変更&lt;br /&gt;  - makefileからVC++2008のプロジェクトに移行&lt;br /&gt;  - makefuncとzipでのパッケージ作成をJScriptで再実装&lt;br /&gt;&lt;br /&gt;* 不具合修正&lt;br /&gt;  - ハングしているプロセスがあると終了できない(チケット#17643)&lt;br /&gt;  - 右シフトが押されたままになることがある(チケット#17607)&lt;br /&gt;  - yamyのダイアログを消す際に5秒程度フリーズすることがある(チケット#17767)&lt;br /&gt;  - 数秒間キー入力が滞ることがある(チケット#17576)&lt;br /&gt;&lt;br /&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;</description>
  </item>
  <item>
   <pubDate>Sat, 27 Jun 2009 15:06:00 GMT</pubDate>
   <title>yamy - 0.01</title>
   <link>http://sourceforge.jp/projects/yamy/releases/40815</link>
   <guid>http://sourceforge.jp/projects/yamy/releases/40815</guid>
   <dc:creator>gimy (gimy)</dc:creator>
   <description>&lt;h2&gt;ReleaseNote&lt;/h2&gt;&lt;p&gt;Yet Another Mado tsukai no Yuutsu(YAMY) ver.0.01&lt;br /&gt;&lt;br /&gt;1. 概要&lt;br /&gt;&lt;br /&gt;Windows用汎用キーバインディング変更ソフト「窓使いの憂鬱(以後mayuと表記)」&lt;br /&gt;(&lt;a href=&quot;http://mayu.sourceforge.net/)&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/)&lt;/a&gt;のキー入力置換をドライバベースからユーザ&lt;br /&gt;モードフックベースに変更した派生ソフトウェアです。&lt;br /&gt;既に開発を終了したmayuをforkすることにより、Windows Vista以降のOSのサポート&lt;br /&gt;を目指しています。&lt;br /&gt;&lt;br /&gt;オリジナルのmayuではフィルタドライバによりキーの置き換えを実現していましたが、&lt;br /&gt;本プロジェクトではそれをWH_KEYBOARD_LLのフックとSendInput() APIに変更します。&lt;br /&gt;これにより、mayuほどの低層での強力な&lt;br /&gt;置換は期待できなくなるものの、ドライバへの署名を要することなく、&lt;br /&gt;Vista以降のWindows(特に64bit版)への対応を目指します。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. ファイル構成&lt;br /&gt;&lt;br /&gt;yamy.exe	... yamy32/yamy64のどちらかを起動するランチャ&lt;br /&gt;yamy32		... 32bit版yamy本体&lt;br /&gt;yamy64		... 64bit版yamy本体&lt;br /&gt;yamy32.dll	... 32bit版フックDLL&lt;br /&gt;yamy64.dll	... 64bit版フックDLL&lt;br /&gt;yamyd32.dll	... 64bit環境で32bitプロセスをフックするための補助プログラム&lt;br /&gt;yamy.ini	... 設定ファイル(mayu でのレジストリ設定に相当)&lt;br /&gt;workaround.reg	... 特定キー問題対策用Scancode Mapレジストリサンプル&lt;br /&gt;*.mayu		... キーバインド設定ファイル&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. 使用方法&lt;br /&gt;&lt;br /&gt;基本的な使用方法は「窓使いの憂鬱」と同じです。&lt;br /&gt;&lt;a href=&quot;http://mayu.sourceforge.net/mayu/doc/README-ja.html&quot; rel=&quot;nofollow&quot; target=&quot;_top&quot;&gt;http://mayu.sourceforge.net/mayu/doc/README-ja.html&lt;/a&gt;&lt;br /&gt;を参照して下さい。&lt;br /&gt;&lt;br /&gt;以下、「窓使いの憂鬱」と異なる部分について記載します。&lt;br /&gt;&lt;br /&gt;* インストーラはありません。yamy-0.01.zip を任意のフォルダに展開し、&lt;br /&gt;  yamy.exe を実行して下さい。&lt;br /&gt;&lt;br /&gt;* レジストリではなく、yamy.exe と同じフォルダにある yamy.ini に&lt;br /&gt;  設定情報の保存します。&lt;br /&gt;&lt;br /&gt;* 設定ファイルはホームディレクトリではなく、yamy.exe のあるフォルダに&lt;br /&gt;  .mayu というファイル名で置いて下さい。&lt;br /&gt;&lt;br /&gt;* キーボードの種別の判定は行いませんので、初回起動時にメニューの&lt;br /&gt;  「選択」で適切な設定を選択して下さい。&lt;br /&gt;&lt;br /&gt;* 4.にもが記載あるように、日本語キーボードの場合「英数(CapsLock)」&lt;br /&gt;  「半角・全角」「ひらがな」の3キーを正しくフックできないため&lt;br /&gt;  レジストリの Scancode Map による置き換えを利用する必要があります。&lt;br /&gt;  同梱している workaround.reg はそのサンプルです。このサンプルでは&lt;br /&gt;  これら3つのキーに E0 プレフィックスを付加することにより、別キー&lt;br /&gt;  に変換しています。同梱の *.mayu はこの Scancode Map の下で&lt;br /&gt;  これら3つのキーがあたかも本来のキーのように動作するように&lt;br /&gt;  設定が追加されています。&lt;br /&gt;  workaround.mayu にはこの対策に対応した追加部分を抽出していますので、&lt;br /&gt;  独自の .mayu を使っている場合はこれを参考にして下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;4. 制限事項・不具合&lt;br /&gt;&lt;br /&gt;* 日本語キーボードの場合「英数(CapsLock)」「半角・全角」「ひらがな」&lt;br /&gt;  の3キーについてはレジストリの Scancode Map による置き換えを併用&lt;br /&gt;  する必要があります。&lt;br /&gt;&lt;br /&gt;* 数秒間キー入力が滞る現象がたまに発生します。&lt;br /&gt;&lt;br /&gt;* 画面ロック時はキー置換が働きません。また、この制限により画面ロック&lt;br /&gt;  への遷移時に押し下げられているキーがあった場合、そのキーが押しっぱなし&lt;br /&gt;  になることがあります。この場合、そのキーを空押しすることによって&lt;br /&gt;  押しっぱなしが解消します。特に Alt キーが押しっぱなしだと、パスワード&lt;br /&gt;  が入力できなくなるので注意して下さい。&lt;br /&gt;&lt;br /&gt;* Vistaでの保護モード有効なIE7ではキーマップがグローバルになります。&lt;br /&gt;  IE8では問題ありません。&lt;br /&gt;&lt;br /&gt;* 管理者権限で実行した場合、一般権限で動作しているプロセスのキーマップ&lt;br /&gt;  はグローバルになります。&lt;br /&gt;&lt;br /&gt;* ユーザモードでのフックのため、以下の場合は機能しないと思われます。&lt;br /&gt;  - WH_KEYBOARD_LL をフックする他アプリとの共存&lt;br /&gt;  - DirectInput を使ったプログラム&lt;br /&gt;&lt;br /&gt;* Pauseキーのようにスキャンコードに E1 プレフィックスが付いたキー&lt;br /&gt;  は置き換えられません。そのようなキーを使用したい場合は Scancode Map&lt;br /&gt;  レジストリを併用して下さい。&lt;br /&gt;&lt;br /&gt;* セキュリティソフトによってはフックDLLのインストールをブロックされる&lt;br /&gt;  場合がありますので、その場合は yamy32/yamy64 を例外として登録して下さい。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;5. 著作権・ライセンス&lt;br /&gt;&lt;br /&gt;YAMYの著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Yet Another Mado tsukai no Yuutsu(YAMY)&lt;br /&gt;&lt;br /&gt;    Copyright (C) 2009, KOBAYASHI Yoshiaki &amp;lt;&lt;a href=&quot;mailto:gimy@users.sourceforge.jp&quot;&gt;gimy@users.sourceforge.jp&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYの派生元である「窓使いの憂鬱」の著作権・ライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  窓使いの憂鬱&lt;br /&gt;&lt;br /&gt;    Copyright (C) 1999-2005, TAGA Nayuta &amp;lt;&lt;a href=&quot;mailto:nayuta@users.sourceforge.net&quot;&gt;nayuta@users.sourceforge.net&lt;/a&gt;&amp;gt;&lt;br /&gt;      All rights reserved.&lt;br /&gt;&lt;br /&gt;    Redistribution and use in source and binary forms,&lt;br /&gt;    with or without modification, are permitted provided&lt;br /&gt;    that the following conditions are met:&lt;br /&gt;&lt;br /&gt;      1. Redistributions of source code must retain the above copyright&lt;br /&gt;         notice, this list of conditions and the following disclaimer.&lt;br /&gt;      2. Redistributions in binary form must reproduce the above&lt;br /&gt;         copyright notice, this list of conditions and the following&lt;br /&gt;         disclaimer in the documentation and/or other materials provided&lt;br /&gt;         with the distribution.&lt;br /&gt;      3. The name of the author may not be used to endorse or promote&lt;br /&gt;         products derived from this software without specific prior&lt;br /&gt;         written permission. &lt;br /&gt;&lt;br /&gt;    THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS&lt;br /&gt;    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED&lt;br /&gt;    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE&lt;br /&gt;    ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,&lt;br /&gt;    INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES&lt;br /&gt;    (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR&lt;br /&gt;    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)&lt;br /&gt;    HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,&lt;br /&gt;    STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING&lt;br /&gt;    IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF&lt;br /&gt;    THE POSSIBILITY OF SUCH DAMAGE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;YAMYが利用しているBoostライブラリのライセンスは以下の通りです:&lt;br /&gt;&lt;br /&gt;  Boost Software License - Version 1.0 - August 17th, 2003&lt;br /&gt;&lt;br /&gt;  Permission is hereby granted, free of charge, to any person or organization&lt;br /&gt;  obtaining a copy of the software and accompanying documentation covered by&lt;br /&gt;  this license (the &amp;quot;Software&amp;quot;) to use, reproduce, display, distribute,&lt;br /&gt;  execute, and transmit the Software, and to prepare derivative works of the&lt;br /&gt;  Software, and to permit third-parties to whom the Software is furnished to&lt;br /&gt;  do so, all subject to the following:&lt;br /&gt;&lt;br /&gt;  The copyright notices in the Software and this entire statement, including&lt;br /&gt;  the above license grant, this restriction and the following disclaimer,&lt;br /&gt;  must be included in all copies of the Software, in whole or in part, and&lt;br /&gt;  all derivative works of the Software, unless such copies or derivative&lt;br /&gt;  works are solely in the form of machine-executable object code generated by&lt;br /&gt;  a source language processor.&lt;br /&gt;&lt;br /&gt;  THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&lt;br /&gt;  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&lt;br /&gt;  FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT&lt;br /&gt;  SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE&lt;br /&gt;  FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,&lt;br /&gt;  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER&lt;br /&gt;  DEALINGS IN THE SOFTWARE.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. 謝辞&lt;br /&gt;&lt;br /&gt;言うまでもなく「窓使いの憂鬱」がなければYAMYは存在し得ませんでした。&lt;br /&gt;「窓使いの憂鬱」の作者である多賀奈由太さんと開発に貢献した方々にこの&lt;br /&gt;場を借りて深くお礼申し上げます。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;7. 履歴&lt;br /&gt;&lt;br /&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;ChangeLog&lt;/h2&gt;&lt;p&gt;2009/06/28 ver.0.01&lt;br /&gt;&lt;br /&gt;初リリース&lt;br /&gt;以下は「窓使いの憂鬱」の最終版からの変更点&lt;br /&gt;&lt;br /&gt;* キー入力置換をドライバからユーザモードに変更(NO_DRIVERマクロ)&lt;br /&gt;  - ドライバへのアクセスを排除&lt;br /&gt;  - キー入力のフックに WH_KEYBOARD_LL を使う&lt;br /&gt;  - キーイベント生成にSendInput() APIを使う&lt;br /&gt;  - WM_COPYDATA での通知でストールする場合があるのでメールスロットで通知(USE_MAILSLOTマクロ)&lt;br /&gt;  - 多重メッセージ対策として !PM_REMOVE なメッセージをフックDLLで無視&lt;br /&gt;  - RShiftにE0が付加されることに対応して{104,109}.mayuにworkaroundを追加&lt;br /&gt;&lt;br /&gt;* 64bit対応(MAYU64マクロ)&lt;br /&gt;  - GetWindowLong -&amp;gt; GetWindowLongPtr 等の使用API変更&lt;br /&gt;  - LONG -&amp;gt; LONG_PTR 等の型変更&lt;br /&gt;  - HWND を DWORD にキャストして 32bit&amp;lt;-&amp;gt;64bit 間で共有&lt;br /&gt;  - 64bit 時に 32bit プロセスへのフックをインストールする yamyd.cpp を新設&lt;br /&gt;  - objの出力ディレクトリを32bitと64bitで分けた&lt;br /&gt;  - WPARAM/LPARAM の実体が 64bit では異なるので、load_ARGUMENT()のオーバーロードを追加&lt;br /&gt;  - INVALID_HANDLE_VALUE=0xffffffff と仮定しない&lt;br /&gt;  - notifyCommand()を無効化(一時的措置)&lt;br /&gt;&lt;br /&gt;* インストール無しでの実行&lt;br /&gt;  - インストーラをビルド対象から外す&lt;br /&gt;  - レジストリの替りに yamy.ini で設定する(USE_INIマクロ)&lt;br /&gt;&lt;br /&gt;* ログ関連&lt;br /&gt;  - hook.cpp にデバッグマクロ追加&lt;br /&gt;  - デバッガ等の特定プロセスではフックDDLLのデバッグ出力を抑止&lt;br /&gt;  - ログをファイルに記録する機能を追加(LOG_TO_FILEマクロ:既定は無効)&lt;br /&gt;  - OS側のキー押し下げ状態をログ出力する「チェック」機能を追加&lt;br /&gt;&lt;br /&gt;* バグ修正&lt;br /&gt;  - Engine::setFocus()でクラッシュする問題を修正&lt;br /&gt;  - KeyIterator::KeyIterator()で空リスト処理時にassert failする問題を修正&lt;br /&gt;  - デバッグビルドではデバッグ版ランタイムをリンクする&lt;br /&gt;&lt;br /&gt;* その他&lt;br /&gt;  - exeやdllのベースネームを mayu から yamy に変更&lt;br /&gt;  - 32bit/64bit の exe を呼び分けるランチャを導入&lt;br /&gt;  - フックDLLの初期化処理の大半を DllMain から外した&lt;br /&gt;  - boost::regex の更新に伴い tregex::use_except の明示を削除&lt;br /&gt;  - VC++9をデフォルトのコンパイラに変更&lt;br /&gt;  - LOGNAME -&amp;gt; USERNAME&lt;br /&gt;  - -GX を -EHsc に変更&lt;br /&gt;  - nmake のオプションから -k を削除&lt;br /&gt;  - フックを解除するため WM_NULL をブロードキャスト&lt;br /&gt;&lt;/p&gt;</description>
  </item>
</channel>
</rss>

