Hatena::ブログ(Diary)

applet@Hatena このページをアンテナに追加 RSSフィード

2008-11-30

「姫踊子草」と「のどか」

あのキーカスタマイズソフトはVistaで使えるか?というタイトルで

http://kouy.exblog.jp/9096951/

「のどか」と「姫踊子草」というソフトの同時動作での不具合に触れていて、&Sync が設定ファイルに記述されている状態で、そのキーアサインを実行すると、5秒ほど固まるという情報があり、挙動を見てみた。

ログウィンドウには、" *FAILED*" というのが表示され、何か失敗していることを示している。

ソースを見ると、この表示をしているのは、1か所。

// sync
void Engine::funcSync(FunctionParam *i_param)
	{
	if (i_param->m_isPressed)
		generateModifierEvents(i_param->m_af->m_modifier);
	if (!i_param->m_isPressed || m_currentFocusOfThread->m_isConsole)
		return;

	Key *sync = m_setting->m_keyboard.getSyncKey();
	if (sync->getScanCodesSize() == 0)
		return;
	const ScanCode *sc = sync->getScanCodes();

	// set variables exported from nodoka.dll
	g_hookData->m_syncKey = sc->m_scan;
	g_hookData->m_syncKeyIsExtended = !!(sc->m_flags & ScanCode::E0E1);
	m_isSynchronizing = true;
	generateKeyEvent(sync, false, false);

	m_cs.release();
	DWORD r = WaitForSingleObject(m_eSync, 5000);
	if (r == WAIT_TIMEOUT)
		{
		Acquire a(&m_log, 0);
		m_log << _T(" *FAILED*") << std::endl;
		}
	m_cs.acquire();
	m_isSynchronizing = false;
	}

要するに、ヘルプの同期定義

http://www.appletkan.com/nodoka-doc/CUSTOMIZE-ja.html#def_sync

に書いてある動作を行っているのだが、どうやら &Sync 動作のタイムアウトを起こしている模様。


「姫踊子草」が &Sync実行時に、送っているキーコード

 def sync = 0x7e # &Sync で使うスキャンコード

を、返してくれないのかなと推測するけど、こちらでは、どうにも打つ手がなさそう。

kouykouy 2008/12/01 21:22  「あのキーカスタマイズソフトはVistaで使えるか?」を書いたものです。素早い検証ありがとうございます。
 そうですか。打つ手がないですか……。まあしょうがないですね。
 「窓使いの憂鬱」のときも、「できるだけ&Syncは使わないように。使うときは「姫踊子草」を一時停止する」という方法でやって来たので、これからもそれで行きます。

applet_at_happlet_at_h 2008/12/01 22:36 コメント堂もです。「のどか」ご利用並びに、シェアレジスト大変ありがとうございます。>> kouy

可能性としては、下記でしょうが、3.を実施するのが一番皆が幸せになれるのかも。

1. Syncコードをいろいろ変えてみて、「姫踊子草」が返してくれるのを探す。
 これはたぶん無理。

2. Syncの実装が正しいのかどうか検証するか、別の手段が無いか考える。
 これもたぶん無理。

3. 「姫踊子草」のソースを開示して頂いて、「窓使いの憂鬱」や「のどか」と共存できないか考える。ついでにVista対応(32bit)も実施する。

「姫踊子草」の作者に連絡取ってみましょうか? まだWindowsのソフト開発に興味があると良いのだけれども。ところで、「姫踊子草」って、どのくらいユーザが居られるんだろうか?

applet_at_happlet_at_h 2008/12/05 23:08 メール出したのですが、ご返信が頂けず、本件、保留。

applet_at_happlet_at_h 2008/12/16 22:17 追伸。大変素晴らしいことに、「姫踊子草」側での対策が検討され、最新版の1.1200号が公開されました。しかし私の環境では、対策されているかどうか確認できませんでした。現在どのような環境でテストされたか確認中です。

kouykouy 2008/12/17 23:48 わたしも姫踊子草の1.1200号をインストールしてみましたが、「「のどか」用のスキャンコード」の欄に0x7eと入力しても、&Syncを実行すると固まりました。

applet_at_happlet_at_h 2008/12/18 07:53 コメントどうもです。大丈夫な環境もあるようで、不思議です。何かが悪さをしているのかもしれません。

applet_at_happlet_at_h 2008/12/19 01:00 姫踊子草 1.1201号がリリースされ、Vista SP1/XP SP3での、のどか との同時動作が出来ることを確認しました。

同時動作は互いに非サポートですが、あえて判って使われるユーザに対して、救済の道が開けたことは大変、有意義である出来事と考えます。また加えて、のどか側では、どうにもならなかったので、鈴見咲さまの時間を結果的に使ってしまいましたが、その御対応は素晴らしいと、とても素直に感激しています。どうもありがとうございました。問題提起して頂いた kouyさまも、どうもありがとうございました。

applet_at_happlet_at_h 2008/12/19 01:04 追伸。姫踊子草を起動したまま、のどかでsearchit2を使うと、単にブラウザが起動されるだけになるとのことです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証