Tue, 23 October 2007

Apple Wireless Keyboard Helper for Windows Updated 20071023

20071023にアップデート。一緒に含めていたMasterVolumeControlLibraryをアップデート(XPで起動時にエラーが出ていたのが直るはずです)。

ちなみに初期のリリースからの間にはJP対応とスクリプト再読込でビルトインモジュール(Trueとかすらなくなる)が吹っ飛ぶ問題も直してあります。

しかしソースをみて悩んだですよ……何しろリポジトリにつっこむ前になおしたつもりの現象がなぜか起こるので。なんかファイルが古いので逆コンパイルしたら直す以前だったという。

Feedback (Comments and Trackbacks): 17 + 0

17 Comment(s)

By akit (Wed, 24 October 2007 11:24)

AppleWirelessKeyboardHelper 使わせてもらってます。
US keyです。
window XPで以前のバージョンでは起動のとき失敗してましたが
このヴァージョンはちゃんと起動しました。有難うございます。
音量やプリントスクリーンなどはScancode Mapなどで対応してますがeject keyだけが働きません。
Default.pyの設定を何か変えなくてはいけないのでしょうか?

By 沢渡真雪 (Wed, 24 October 2007 11:56)

Ejectキーを押したときどのドライブを取り出しするかどうかを決定できないので、Default.pyをいじって設定していただく必要があります。

# でコメントアウトされた Util.Eject("E") のコメント(#)を外して E を任意のドライブ名に変更してもらえれば動くのではないかと思います。

By akit (Wed, 24 October 2007 14:15)

早速の回答有難うございます。
出来ました。
オープンはするけど閉まりませんね。
keyにソフトを登録することは出来るでしょうか?
そのソフトを実行するだけですが。

By 沢渡真雪 (Thu, 25 October 2007 02:10)

ソフトを起動したい場合には

Process.Start("起動したいファイル.exe", "引数(あれば)")

と変更すれば起動できるはずです。

By akit (Thu, 25 October 2007 07:56)

有難うございました。
これで開閉が出来るようになりました。
ごそごそいらってもエラーが出るのでお聞きしました。
スクリプトや書式が判らないのでたびたびの質問失礼しました。

By ken (Sun, 28 October 2007 03:07)

US配列の新Wireless Keyboardを使ってます。
先日からこのソフトを使わせていただいて非常に便利で助かっていました。

26日にLeopardが発売になりましたが、早速インストールしてみたところ、
Bootcampは製品版でVer.2.0になっていて、新Wireless Keyboardのfnキーも
デフォルトで機能するようになっていました。

その他のメディアキーなども機能するのですが、うちの環境ではなぜかディスク
のEject Keyだけは機能しない感じですね・・・。

とりあえず、新Bootcampにて最低限の対応はしているみたいなので、情報提供でした。

By りちゃ (Mon, 29 October 2007 03:47)

ヘルパーありがたく使わせてもらってます。せっかくオープンソースになってるので、手元のJIS配列特有の部分を検証してみました。

英数、かなキーを押したときの反応ですが、フック関数で得られるwScanがそれぞれ113、114になっているようです。ただ、KeyboardHookEventStructの定義がKBDLLHOOKSTRUCTと違ってるみたいで、wVkとwScanをUInt32にする必要があります。SpecialKeyStateのほうは特に反応がありませんでした。

情報としてはこんなところですが、JIS対応することはできそうでしょうか?もしコミットできたらしてみたいのですが……

By 沢渡真雪 (Tue, 30 October 2007 00:09)

> りちゃさん
情報ありがとうございます。うーむ普通のキーとして飛んでくるのですね。
そして構造体の宣言を間違っていたという指摘ありがとうございました。よく見たらほかにも間違ってました…(たしかそっちにあわせてしまった気もする。

それで、頂いた情報を元にとりあえず対応させてみた感じなのですがどうでしょうか?

http://www.misuzilla.org/dist/net/applewirelesskeyboardhelper/archives/AppleWirelessKeyboardHelper-20071030.zip

By りちゃ (Wed, 31 October 2007 18:17)

対応ありがとうございます……が、うまく動きませんでした。再びソースを引っ張ってきてデバッグ実行してみたところ、どうやら英数、かなキーは WM_KEYDOWN を送らずに WM_KEYUP だけを送る不思議仕様のようです。KeyboardHookProc のリターン直前に以下のコードを入れるとうまくいきました。
if (keyEventStruct.wScan == 113 || keyEventStruct.wScan == 114)
{
 if (OnKeyDown(CurrentKeyState, Keys.None, keyEventStruct))
  return (IntPtr)1;
}
あと、今動かしてるのはVista上なのですが、あとでXPでも試してみます。

By 沢渡真雪 (Fri, 2 November 2007 02:43)

追試ありがとうございますー。WM_KEYUPだけを送るのは不思議仕様ですね…。

どうしようか考えた末にもういっそ、ということで KeyUp イベントを作ってスクリプト側の OnUp_JISAlphaNumeric と OnUp_JISKana で受け取れるようにしてみました。

http://www.misuzilla.org/dist/net/applewirelesskeyboardhelper/archives/AppleWirelessKeyboardHelper-20071102.zip

何度もすみませんがこちらでどうでしょうか?

By OWADA (Fri, 2 November 2007 19:46)

最新版、Windows Vistaでうまく動いてます!すばらしい!
fnキーと組み合わせて既存のキーに好きな機能を割り付けられるようになったってことは、
これは通常のWindowsキーボードよりも使い勝手いいかもです。
とりあえずカーソルキーにフォトショップのショートカットをカスタマイズして入れてます。

By りちゃ (Mon, 5 November 2007 14:18)

11/02版動きました!ありがとうございましたー

By tgbt (Tue, 13 November 2007 22:06)

JIS対応版動きました。素晴らしいですね。
ただ、上の方で述べられているように英数かなのDownが取れていないため同時押しを使うキーに割り当てるとダメですね。試しに英数をWindowsキーに割り当てても、Win+Eなどは使えません。

ところで、Fnを伴わない各種ボタンの設定もこのソフト(の延長上?)で可能でしょうか。AppleWirelessKeyboardを利用するときだけキーのカスタマイズをしたいんですが……。

By 沢渡真雪 (Sat, 17 November 2007 18:13)

> tgbt さん
お返事が遅くなってすみません。

Fnを使わない状態でのカスタマイズは現状ではできず、プログラムをいくらか修正すればできなくはないのですが、そこまでやるかどうかということは今考えてるところです(ほかのカスタマイズツールもあるので)。

# 何々キーを押したらという単純なのであればすぐですが、Ctrl+何々というコンビネーションキーだとちょっと面倒になるので対応していないという事情もあります。

By mono (Thu, 20 March 2008 01:36)

はじめまして。
Apple Wireless Keyboard Helper for Windows、便利に利用させていただいているのですがEjectキーのリピートが出来ないのが不便に感じました。
そこで、自前でキーリピートを再現するコードを追加してみました。

http://www.jiglet.org/temp/Helper.cs

同じ不満を感じている方の参考になればと思います。

By まさ (Sun, 30 March 2008 20:11)

Apple Wireless Keyboard Helper for Windowsを昨日から使わせていただいております。
たまに無反応になったりするのですが、Bluetoothモジュールの再起動で復活できたりします。
が、キーリピートが発生してしまい、電源を切るしかなくなりました・・・。

利用環境はXPになります。
ドライバはTOSHIBAのものを利用しています。

たなかさんがVista標準ドライバで解決したとありますがXPにも標準のものとかあるのでしょうか?

アドバイスいただけると幸いです。

By とも (Tue, 29 July 2008 23:09)

 >まささん
私も、XPで同様の不具合がありました。色々調べたところ、Toshiba Bluetooth stackに原因があります。一度ドライバをアンインストールして、XP標準ドライバで使用すると、問題なく動きます。参考までに、私のHPご覧ください。

Comment form

コメントをつける

Trackback URL

http://www.misuzilla.org/blog/2007/10/23/AppleWirelessKeyboardHelperUpdated/trackback

»ページの一番上に戻る