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