やっぱまだ工事中……(つД`)

かなり旬を過ぎた話題ですが、PS3のBluetoothリモコンをPCに繋いでみました。
DVDを見るときとか、ADV系のエロゲとか超快適、オヌヌメ。
今日はその設定方法とかを細かく解説していくつもりなので、わかんないところがあってもメゲない!

良いところ、悪いところ

良いところ
 ・PCから離れていても、マウスライクに操作可能。
 ・3~4,000円くらいでOKなのでリーズナブル。エアマウスとかより安い。
 ・赤外線じゃなくてBluetoothだからあさっての方向にむけても使える。[1]

悪いところ
 ・常時PCつけてるとリモコンの電池が持たない。[2]
 ・動かすためのソフトが、初心者には敷居が高い。

こんなところでしょうか。

 

必要なモノ

 ・PS3用 BDリモートコントローラ
 ・Bluetoothレシーバー(PCが対応してたら要らない)
 ・GlovePIE 0.30(フリーソフト)

注意点は、GlovePIEのバージョンです。
(設定したとき時点の)最新版じゃ、ちゃんと動きませんでした。
ネットで情報を見ると「0.3がいい」って話だったので、0.3を使ってます。
これなので、どうぞ。

あと、必要ってワケではありませんが、
 ・充電できる単三電池(できれば4本)[3]
 ・それに対応した充電器
がないと、PCをちゃんと消してても燃費が悪いコなので、要注意です。[4]

 

設定方法-ペアリング

Bluetoothレシーバーを、取説に従ってPCに取り付けましょう。
ここでつまづく人は、正直どうしたらいいかわからん。

取り付けが終了したら、ペアリングします。
(以下、ペアリングとか知ってる人は読み飛ばしてください)
Bluetooth機器は基本的に1対1で接続先と結びつかせて使用します。
さっきBluetoothレシーバーを取り付けたPCと、BDリモコンを結びつけることを「ペアリング」と言います。
逆に言えば、ペアリングしてない機器は操作できないので、PCとPS3で両方ともBDリモコンが欲しい場合は、
PC用とPS3用に1台ずつリモコンが必要になります。

さて、ペアリングの方法ですが……
(以下、ウチのBDレシーバーについてたBluetooth Stack for Windows)で説明します。

BDリモコンに電池を入れて用意しておきましょう。

そしたらPCに向かい、

タスクバーのBluetoothアイコンを右クリックし


新しい機器を追加をクリック


エクスプレスモードで次へ


この画面の時に、BDリモコンのENTERとPSボタンを押し続ける。

これで、ペアリングはOKです。


ちゃんとペアリングできてたら、この画像のアイコンのように「BD Remote control」と表示されます。

 

設定方法-GlovePIE

適当な場所にこれをダウンロードし、展開します。
展開したら「GlovePIE.exe[5]」をダブルクリックして起動します。

起動できたら↓な画面が表示されていると思います。

GlovePIEの設定は、この画面の白いところに直接コードを記述するか、
タブをGUIにして、

の画面から設定することになります。

が、ちょっとでもPC得意な人か、英語が読める人なら問題ないと思いますが、
両方とも不得意な場合は、ウチで使ってる設定を貼っておくので、これを白い部分にペーストして使ってください。
ただし、このままじゃ使えない環境の方が多いと思われるので、テキトーに編集してください。
(下のコードの上にマウスを持っていくと、コードの右上にアイコンが出ます。
 アイコンの左から2番目をクリックすると、下記のコードがクリップボードにコピーされます)
(なお、ハイライト行はGOMプレイヤーのショートカットを設定しています。詳しくは後述します)

//--- BDremote >> GOM Player ------------------------
//--- 2010/05/22

// var.ctl_device
// 1 = keybord 2 = mouse
if var.ctl_device == false then
   var.ctl_device = 1
end if
if BDRemote.blue then
   var.ctl_device = 1
end if
if BDRemote.red then
   var.ctl_device = 2
end if
if BDRemote.green then
   var.ctl_device = 3
end if
//---Enter and Esc
Key.Enter = BDRemote.Enter & (var.ctl_device==1)
Mouse.LeftButton = BDRemote.Enter & (var.ctl_device>1)
Key.Enter = BDRemote.Circle
Alt + Key.NUMPAD2 = BDRemote.Triangle
Mouse.RightButton = BDRemote.Square
Key.Escape = BDRemote.Cross
//---Cursor
if var.ctl_device > 1
   var.cur_x = false
   var.cur_y = false
   if BDRemote.Right then
      var.cur_x = 1
   else if BDRemote.Left then
      var.cur_x = -1
   endif
   if BDRemote.Up then
      var.cur_y = 1
   else if BDRemote.Down then
      var.cur_y = -1
   endif
   if var.ctl_device == 2
      var.move = 0.012
   else
      var.move = 0.005
   endif
   if var.cur_x >< 0 or var.cur_y >< 0
      Mouse.x = Mouse.x + var.move * var.cur_x
      Mouse.y = Mouse.y - var.move * var.cur_y
   endif
else
   Key.Up    = BDRemote.Up
   Key.Down  = BDRemote.Down
   Key.Left  = BDRemote.Left
   Key.Right = BDRemote.Right
endif
//---Disc select
if BDRemote.PS then
   Mouse.x = -1
   Mouse.y = -1
endif
//---num Key
Key.NUMPAD0 = BDRemote.num0
Key.NUMPAD1 = BDRemote.num1
Key.NUMPAD2 = BDRemote.num2
Key.NUMPAD3 = BDRemote.num3
Key.NUMPAD4 = BDRemote.num4
Key.NUMPAD5 = BDRemote.num5
Key.NUMPAD6 = BDRemote.num6
Key.NUMPAD7 = BDRemote.num7
Key.NUMPAD8 = BDRemote.num8
Key.NUMPAD9 = BDRemote.num9
//---Menu Back
Ctrl + Key.BackSpace = BDRemote.TopMenu
Ctrl + Key.NUMPAD1 = BDRemote.Subtitle
Ctrl + Key.NUMPAD2 = BDRemote.Audio
Ctrl + Key.NUMPAD3 = BDRemote.Angle
//---Menu pop
Alt + Key.NUMPAD1 = BDRemote.popup
//---DVD Playing
Key.Space = BDRemote.Play
Key.Space = BDRemote.Stop
Key.Space = BDRemote.Pause
Alt + Key.PageUp   = BDRemote.Prev
Alt + Key.PageDown = BDRemote.Next
Shift + Key.Left  = BDRemote.Rewind
Shift + Key.Right = BDRemote.FastForward
Alt + Key.Left  = BDRemote.StepRev
Alt + Key.Right = BDRemote.StepFwd
Key.Escape = BDRemote.return
//---Volume
VolumeUp     = BDRemote.R1
VolumeDown   = BDRemote.R2
Mute = BDRemote.R3
//---Window ctrl
Alt + Key.NUMPAD3 = BDRemote.Display
Alt+ Key.F4 = heldDown(BDRemote.eject,500mS)
if BDRemote.Yellow then
   Alt + Tab = BDRemote.Yellow
   Tab = false
   wait 400 ms
   if not BDRemote.Yellow then
      Alt = false
   endif
endif
//---mouse scroll
Mouse.WheelUp = BDRemote.L1
Mouse.wheelDown  = BDRemote.L2

//-------------------------------------------------
// Execute("C:\Program Files\GRETECH\GomPlayer\GOM.exe")
// Key. = BDRemote.Clear
// Key. = BDRemote.Time
// Key. = BDRemote.Green
// Key.BackSpace = BDRemote.return
// Key. = BDRemote.L3
// Key.Alt  = BDRemote.Select
// Key.Tab = BDRemote.Start

ウチの場合、DVDの再生にはGOMプレイヤーを使用しているので、GOMプレイヤー用の設定となっています。

これで、こんな感じですね?

そしたら、Runとなっているボタンを押しましょう。
白い部分がハイライトされて、

こんな感じになるはずです。

これで、BDリモコンが使えているはず。

まず、赤いボタンを押してから、ENTERのまわりにあるカーソル(?)を動かすと……
ちゃんとマウスが動きましたか? 動いてたらOKです。
動いてなかったら? ……まぁ、なんだ、その。
詳しい状況を教えて欲しいかもしれんケド解決できるかどうかは神次第(゚∀゚)

まぁ、とりあえず、動いている場合、
このコードを保存するため、メニューのFileから保存(Save)を行いましょう。

 

俺的GlovePIEのキー設定

上記のコードを読める人は見ての通りですが、私のBDリモコンはこんな感じで設定されています。

BDキー 動作 備考
EJECT GOMプレイヤーを閉じる Alt + F4なので、正確にはアクティブウィンドウを閉じる
AUDIO オーディオメニューへ --
ANGLE アングルメニューへ --
SUBTITLE 字幕メニューへ --
各数字キー テンキー --
CLEAR 使用しない --
TIME 使用しない --
Blueキー キーボード操作に変更 BDカーソルキーがキーボードのカーソルキーに対応
Redキー マウス操作(高速)に変更 BDカーソルキーがマウスカーソルに対応
Greenキー マウス操作(低速)に変更 BDカーソルキーがマウスカーソルに対応
Yellowキー アクティブウィンドウを変更 TAB + Altと一緒
DISPLAY GOMプレイヤを最大化 GOMのキー設定を変えてある
TOP MENU TOPメニューへ --
POP UP/MENU DVDポップアップメニューを表示 GOMのキー設定を変えてある
RETURN 使用しない --
ポップアップメニュー GOMのキー設定を変えてある
マウスの右クリック --
キーボードのEnter --
× キーボードのEsc --
カーソル キーボードモードでカーソルキー操作
マウスモードでマウスカーソル操作
--
ENTER キーボードモードでキーボードのEnter
マウスモードでクリック
--
PSボタン ランチャを起動 後述
L1 マウスホイールUP --
L2 マウスホイールDown --
L3 使用しない --
R1 ボリュームを上げる --
R2 ボリュームを下げる --
R3 ミュート(消音) --
Scan<< 10秒戻る GOMのキー設定を変えてある
PREV 前のチャプターへ GOMのキー設定を変えてある
SLOW/STEP<< 再生速度を下げる GOMのキー設定を変えてある
Scan>> 10秒戻る GOMのキー設定を変えてある
NEXT 次のチャプターへ GOMのキー設定を変えてある
SLOW/STEP>> 再生速度を上げる GOMのキー設定を変えてある
PLAY 再生の停止と再開 キーボードのスペース
STOP 再生の停止と再開 キーボードのスペース
PAUSE 再生の停止と再開 キーボードのスペース

以上となります。
「GOMのキー設定を変えてある」の部分は、
BDリモコンはマウスやキーボードの代わりですから、アクティブなウィンドウに作用してしまいます。

そのため、GOMプレイヤ以外のウィンドウがアクティブなとき、
誤動作を防止するために「そんなキー使わんだろ」という組み合わせで、GOMプレイヤのショートカットを変更しました。
(環境設定>一般>ショートカット から変更できます)

GOMプレイヤショートカットの設定は以下のとおり。

動作 変更後 デフォルトキー
再生速度を遅くする Alt + Left
DVDポップアップメニュー Alt + Num1
ポップアップメニュー Alt + Num2 クリック
全画面表示(比率維持) Alt + Num3 Enter
次のチャプター Alt + PageDown PageDown
前のチャプター Alt + PageUP PageUP
再生速度を速くする Alt + Right C
字幕メニュー Ctrl + Num1 --
オーディオメニュー Ctrl + Num2 --
アングルメニュー Ctrl + Num3 --
10秒戻る Shift + Left カーソル←
10秒進む Shift + Right カーソル→

特に10秒操作や全画面表示は変えておいた方が、誤動作が少なくていいんじゃないかと思います。

まぁ、あとは私の簡単なコードを編集して、使い易いようにしてくれればOKです。
(たぶん読んだら何となく意味分かるでしょ?)

ちなみにGlovePIEをRunさせると、一番上から下まで読んで、
また上に戻ってとループするような処理が行われているので、コードを記述する順番はとくにありません。
ただし、私のサンプルでは、「var.ctl_device」のような変数設定があるので、
これらは、最初にやっておかないと変数参照時にエラーが出ます。

 

その他もろもろ

【マウス座標とマルチモニタ】
マウスの座標は左上の角を0,0とし、右下の角を1,1とするようです。
マルチモニタの場合、基準となるプライマリモニタが上記座標が適用されます。
んで、右にモニタがある場合、X座標が1以上になります。左だと0以下。
縦方向も似た様な感じで、上のモニタのY座標が0以下、下だと1以上になります。

【ランチャの呼び出し】
マウスでもキーボードでも操作できるランチャがおすすめ。
私のサンプルコードではPSキーを押すことで、マウスのカーソル座標を強制的にx,y=-1にして、Orchisというランチャを呼び出しています。
というのも、Orchisをマルチモニタの左端に配置し、マウス座標をそこに転移させ、ランチャが表示されるようにしています。

ショートカットキーでランチャを使いたい場合には、
コピペしたコードの56-57行目を編集してくれればOKです。

んで、OrchisにISOが格納された各フォルダを登録し、

な感じで表示するようにしています。

【GlovePIEをタスクトレイに格納】
GlovePIEが常に出ていると邪魔だと思います。
最小化の左隣りにあるボタンを押せば、タスクトレイに格納できます。

【GlovePIEをスタートアップさせる】
いちいちPCを起動する度にGlovePIEを起動するのも面倒なので、
作成したファイルのショートカットをスタートアップに入れておくと便利。
方法? もう疲れたからググッてくれ( ´,_ゝ`)

ただ、作ったファイルのショートカットをそのままスタートアップフォルダに入れても、
使用するアプリケーションをフォルダオプションとかで指定してないと、ダメ。
方法? もう疲れたk(ry

 

おしまい

こんな感じで、だいたい設定できたんじゃないかと思います。
このリモコン、軽い上に、クリックとかも設定できちゃうから、エロゲ以外にもいろいろ使い道がありそうです。
Wiiリモコンを繋いで、パワポで使ってる人もいるみたいだし。

オモロい使い方がわかったら、教えてくれたら嬉しいですヽ(゚∀゚)ノ


  1. 赤外線は光の一種で指向性ですが、Bluetoothは電波なので範囲内にレシーバーがあればOKです []
  2. つけっぱなしで3~4日くらいで電池交換しなきゃです []
  3. リモコンで2本使うので切れた時ようにもう2本 []
  4. もちろん、使わない時にBluetoothの接続を切ればいいのですが……めんどくね? []
  5. 環境によってはGlovePIE []

記事と関連してそうなモノ

3 Responses to “PS3 BDリモコンをPCで使ったみた(サンプルコード付)”

  1. バウ より:

    色々知ってるのぉ、SUGEEEEEE(`・ω・´)。
    てか、ワンクリ(・∀・)ニヤニヤ。

  2. つな より:

    お褒めに預かり恐縮です(/ω\)
    ただ、長文書くとき乱文過ぎて、改めて見るとかなり読みにくいんで、
    もうちょっとブログ書くのに慣れないとイカンとか思ってます。

    それより、コードがテキトーすぎるから、
    落ち着いたらもうちょっとマトモなコードを転載したいと思うところ。

  3. D-boy より:

    素晴らしい!!
    この記事、消さないでね~~。
    絶対に必要だから!!
    お願いします~~m(__)m

コメントを残す

【必須】required