さまざまな物や事に関する、役に立ったり立たなかったりするテキストが綴られるブログ。

2011/05/30

GlovePIEのスクリプトをいじってみる

画像はイメージです
前回は「Wey」というソフトを使って自作Bluetoothジョイスティック(あるいはWiiリモコン)をWindowsのゲームに使う話を投稿しました。今回は、その「Wey」と同等の動作を「GlovePIE」で実現してみます。

以前の環境では「GlovePIE」と「PPjoy」を組み合わせることでゲームコントローラをエミュレートしていました。

けれども、Windowsのゲームではキーボード操作をサポートされている場合が多く、その機能を利用するのであれば、わざわざゲームコントローラに変換する必要はありません。

そうした目的、すなわちWiiリモコンによるキーボード入力のエミュレートに最適なのが「Wey」。これにより、目的のほとんどは達成されたのですが、ボタンの同時押しに他の機能を割り当てたいという要望から「GlovePIE」を使ってみようと思った次第です。

というわけで、サクっとスクリプトを書いてみました。
// for Bluetooth Joystick
//
// Lever settings
//
Key.NUMPAD4 = Wiimote1.Up
Key.NUMPAD8 = Wiimote1.Right
Key.NUMPAD6 = Wiimote1.Down
Key.NUMPAD2 = Wiimote1.Left
//
// Button settings
//
Key.Z = Wiimote1.A
Key.X = Wiimote1.One
Key.C = Wiimote1.Two
Key.V = Wiimote1.Minus
Key.One = Wiimote1.Home
key.F1 = Wiimote1.Plus and Wiimote1.A
//
内容を簡単に紹介しますと、スクリプトの前半部分はWiiリモコンの十字キーのそれぞれの入力を、テンキーの[4][8][6][2]に割り当てています。前後左右の関係が少し変なのは、Wiiリモコンの横持ちを想定しているため。反時計回りで90度回転させてた状態での入力を記述してあるのです。

この部分を書き換えれば、他の操作系にも応用できます。例えば、前後左右の移動にキーボードの[W][A][S][D]を使うような場合なら...
Key.A = Wiimote1.Up
Key.W = Wiimote1.Right
Key.D = Wiimote1.Down
Key.S = Wiimote1.Left
...という感じの記述となります。

スクリプトの後半部分は、Wiiリモコンの各ボタンをキーボードのキーに割り当てています。ちなみに、各行共に[=]の右側がWiiリモコンのボタン(あるいは十字キー)、左側がそれを押したときの動作、という文法になっています。

最後の行だけ、ちょっと違う記述となっていますが、ここではWiiリモコンのボタン([+]と[A])を同時に押した時だけ[F1」キーを入力するようにしています。これは、ボタンが足りなくなった時の処理を考えたモノ。もちろん逆も可能で、例えば...
Key.Z and Key.X and Key.C = Wiimote1.Plus
...ってなスクリプトを書いてあげれば、Wiiリモコンの[+]ボタンを押したときにキーボードの[z][x][c]を同時に入力する、なんてことも可能になります。

このようにスクリプトを書いてあげることで、柔軟な動作を設定できるのが「GlovePIE」の魅力のひとつです。逆に、単純にデジタル系のゲームパッドとして使うのであれば「Wey」の方がお手軽です。

もちろん、どちらの場合もコントローラとしての操作性には問題なく、ワイヤレスで快適に遊べます。キーボード入力をエミュレートするだけなら使い勝手もほとんど同じ。好みや用途で選ぶのがよろしいでしょう。


Related Posts with Thumbnails

0 件のコメント:

新しい投稿へ 以前の投稿へ ホームへ