ぷろじぇくと、みすじら。

Apple Wireless Keyboard Helper for Windows Updated 20071023

Created at:

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

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

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

Apple Wireless Keyboard (新型)を Windows で使う

Created at:

先週、銀座のApple Storeに行ったら薄っぺらいアルミニウムな新型のWireless Keyboardが入荷されていたので買ってきました。勢いで買ったのでWindowsにつながるかどうか心配になったのは家に着いてからです。というかやっとFnキーを使えるようにするやつを公開したのでエントリを書けることに。

SBSH00921.JPG こんな感じでとても薄く、軽いのです。線もないのでジャマになったらぽいっとどかせるのがよいですね。肝心のWindowsとの接続はMicrosoft Wireless Laser Mouse 8000のBluetooth トランシーバとVAIO type T(TZ)のBluetoothともに接続できました。よかったです。

さて買ったのはUSモデルなので、Aの横にはいらない子(Caps Lock)があるのでそこらに転がっているレジストリ変更でつぶしました。が、どうもCaps LockをCtrl化したキーは反応が若干遅いっぽく、C-vとかC-hとかを打とうとするとたまに取りこぼします。ううーん。これは結構ストレス。配列にはこだわらないので元からAの左にCtrlがある日本語のほうがよかったかも。(そもそもCaps Lockが遅延気味?Macでも遅延気味なのかも?(コメント欄))

そしてもう一つの罠。「Windowsキーになるキー(Command)がある!これでCommand+Lでロックできますね!」→デスクトップをロック→「あ、DelがないからCtrl+Alt+Delを押せない!孔明の以下略」。というわけでF12をDelに変更しました。(CapsLockをCtrl、F12をDelにするレジストリファイル)

そしてほかにもPrintScreenがないとか、Fnキー使えれば!という感じだったのですがBootCampでもないしはうはう。でもご安心ください、解決方法はちゃんとあります。そして、やっと本題。

そんなWindowsでは全く認識されないFnキーさん、悲しいことです。どうも探した感じではBootCampのやつを使うとかぐらいしか方法がないようでした。でもHID読めるよというヒントがあったので、ヘルパーアプリケーションを作れそうと思って作りましたよー。

というわけで Apple Wireless Keyboard Helper for Windows なのですが、これでFn+F何とかでiTunes操作や音量の調節、Fn+Up/DownでPageUp/Down、Fn+Left/RightでHome/Endなどができるようになります。Ejectや電源ボタンにも機能をふれます。これでいらない子とかいわれないです。

もちろんカスタマイズできます。設定ファイルの書式はどうしようかなと思った末、Pythonスクリプトにしました。IronPython+DLRでがんばって楽をするという裏技。IronPython+DLRは最近出た2.0-A5です。Pythonスクリプトなのでいろいろできます。デフォルトの設定ファイルとか。

あと、HIDを直接読んでるのでもしかしたら日本語配列だと動かないかもですが、その辺はうごかないよーといってもらえれば何とかします(できればですけど)。多分。あとボリューム操作もXPで動くのか謎です。求む動作結果または日本語配列キーボード。

そんなわけでCtrl化したCapsLockの反応がアレな以外は満足です。うんうん。

むー。休止から帰ってきてロック画面になると使えなくなってしまう。ロック解除するとつかえるんだけど。Bluetoothキーボードには起こりがちなのかなー?要調査

Misuzilla.Build.Tasks.Eject

Created at:

Twitter更新タスクに続いてまたMSBuildのタスクです。まあ、名前からやっぱり想像できると思いますが、MSBuildでビルド中にCD/DVD-ROMドライブのトレイをイジェクトできます。もちろんNotify::Ejectリスペクトです。

これをAfterBuild ターゲットあたりに書いておけば、ビルドが終わったことをドライブがガコーといってお知らせしてくれます。予想では超便利なはずです。どうぞご利用ください。

使い方というか書き方はTwitterのそれと同様、Sample.projを参考にしてください。

ダウンロード: Misuzilla.Build.Tasks.Eject-r349.zip / ソースコード Subversion (Trac)

次はMSBuildでUSBミサイルランチャー?

Twitterのと併せて一つのアセンブリにすればよかったかも?

Misuzilla.Build.Tasks.Twitter

Created at:

MSBuildのタスクです。このタスクを使えばMSBuildでビルド中にTwitterのステータスを更新できます(まだステータス更新しかないです)。これはgyuqueさんの「ビルド結果をTwitterに投げるようにしてみた」をみて思いついたものです。

これをAfterBuild ターゲットあたりに書いておけば、ビルドが終わったことをTwitterに通知できます。

使い方というか書き方は同梱のSample.projを参考にしてください。

ダウンロード: Misuzilla.Build.Tasks.Twitter-r312.zip / ソースコード Subversion (Trac)

MSBuildでハッシュ値のファイルを作るTask

Created at:

なんたらかんたら.zip.md5とか作るためのTaskです。

Misuzilla.Build.Tasks.Hash-r194.zip (ソースコードはCodeReposにあります)

使用例

  <UsingTask AssemblyFile="$(OutputPath)\Misuzilla.Build.Tasks.Hash.dll" TaskName="MD5" />
  <UsingTask AssemblyFile="$(OutputPath)\Misuzilla.Build.Tasks.Hash.dll" TaskName="SHA1" />
  <UsingTask AssemblyFile="$(OutputPath)\Misuzilla.Build.Tasks.Hash.dll" TaskName="SHA256" />
  <ItemGroup>
    <GenerateHashTargets Include="$(OutputPath)\Misuzilla.Build.Tasks.Hash.dll" />
  </ItemGroup>
  <Target Name="AfterBuild">
    <MD5    Files="@(GenerateHashTargets)" />
    <SHA1   Files="@(GenerateHashTargets)" />
    <SHA256 Files="@(GenerateHashTargets)" />
  </Target>