2011年6月9日木曜日

AppleWirelessKeyboardをWindowsで快適に(非BootCamp)

前回の続きといえば続き?

Bios操作OKなBluetoothレシーバー RCTB-MX を買ってみた。

Bluetoothキーボードを使ってる人、使う予定の人は一読あれ。





さて、自作PC(Win7 x64)で愛用しているAppleWirelessKeyboard (US配列:A1314)について。
 ・F1~12
・Delete
・輝度調整(デスクトップなので効果なし)、iTunesの操作、音量調整、ディスクドライブのイジェクト
・↑の操作時のフローティングウィンドウの表示

まで動いている快適な環境なのだがこの抶態にするのに右往左往したので備忘録を記しておく。


結論から言うとSnowLeopardのディスクからWindowsにBootCamp 3.0を突っ込んでしまえばいい。
残念ながらAppleの公式にあがっているBootCampは差分アップデートなのでディスクが必要だったりする。
このキーボードをわざわざWindowsで使おうと思う人の大抵は持っている気がするが。

持ってない人は下へ。


・SnowLeopardのディスクを持ってる場合

コツはキーボードのドライバだけでなくBootCampアシスタントごと入れてしまうこと。
D:\Boot Camp\Drivers\Apple\BootCamp64.msi (32bit環境の場合はBootCamp.msi)
を右クリックしてインストール。
ごちゃごちゃとキーボード以外のドライバとかいろいろ入るけど問題は起きてないので気にしない方向で。


ちなみにキーボードのドライバは
D:\Boot Camp\Drivers\Apple\x64\AppleKeyboardInstaller64.exe
だと思われるがコレだけ入れても特殊キーは効かない。
が、とりあえずFn+F1~F12が(通常のF1~F12として)入力できるようになる?(…忘れた)


インストールが終わって再起動するとタスクトレイにBoot Campの黒いひし形があるはず。
F10~F12でミュート、ボリュームアップ、ダウンができるようになってればいい。
この状態だとFn+F1~F12が通常のF1~F12として入力される。


ちなみにBoot Camp コントロールパネルは使えない(笑)ので
Fnを押したときの挙動を入れ替えるにはレジストリを弄る。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\KeyMagic
の中の
OSXFnBehavior REG_BINARY 01
の値(01)を 00 にしてやると普通のWindowsのキーボードっぽい挙動になる。


・SnowLeopardのディスクを持ってない場合

Boot Camp 2.2 からドライバーを抜き出し+Apple Wireless Keyboard Helper for Windows
で実装する方法。フローティングウィンドウは出ないけど機能的には同じにできるはず。

・Apple KeyBoardをWindowsで快適に?使う為のまとめ。
http://surumekuu.blog.shinobi.jp/Entry/13/
(レジストリのパスが違うかも?ControlSet001ってバックアップじゃなかったっけ?
とりあえず自分の環境ではCurrentControlSetで問題ないです。)


・Apple Wireless Keyboard Helper for Windows
http://www.misuzilla.org/dist/net/applewirelesskeyboardhelper/
Fnキーを押したときの挙動をのっとるツール。
キーバインドを書いたスクリプトを読ませて使うのでカスタマイズし放題。
PageDownだけデフォルトのスクリプトでうまくいかないので書き換え。
あと音量の調節が細かすぎるので力技で(笑)


Default.pydef OnDown_Fn_Next():
 Util.SendInput(Keys.PageDown) 

################################# 
def OnDown_Fn_F11():
  volControl.VolumeDown()
  volControl.VolumeDown()
  volControl.VolumeDown()
  volControl.VolumeDown()
  volControl.VolumeDown()


def OnDown_Fn_F12():
  volControl.VolumeUp()
  volControl.VolumeUp()
  volControl.VolumeUp()
  volControl.VolumeUp()
  volControl.VolumeUp()

Fn+F1~12を通常のFunctionキーとして使いたい場合、
コメントアウトしてもなぜかうまく動かないので
def OnDown_Fn_F11():
  Util.SendInput(Keys.F11)
みたいな書き方をすれば誤魔化せる。(これも力技だなぁ…)


OnDown_Fn_XXXの部分は OnDown_Fn_A() とかできる。(Fn+A)
スクリプト書いたらアプリケーションのショートカットにしたりできるのかな?
下記サイトを参考にした。

・How to use "Apple Wireless Keyboard" in Windows PC
https://sites.google.com/site/hgchym/misc/howtouseapplewirelesskeyboardinwindowspc

・Keys 列挙体
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.keys%28VS.80%29.aspx



あとはChange Keyでcaps lockをcontrolにしたり、Winキーをcontrolにしたりお好みで。

・Satoshi村

http://satoshi.web5.jp/f_soft/dw_win.htm



やっぱり音量調節がキーボードでできるのは快適。

0 件のコメント:

コメントを投稿