(Wii)(GlovePIE)(Wiiリモコン と モーションプラス で PC用の空中マウス プロジェクト 02)
もう一回若干の仕様変更
同じ様なスクリプトを何回も書いてしまって申し訳ない 笑)
こういうのを一度できちんと 思い通りに作れないのが 私の頭の悪さの証拠です 笑)
同じ様なスクリプトを何回も書いてしまって申し訳ない 笑)
こういうのを一度できちんと 思い通りに作れないのが 私の頭の悪さの証拠です 笑)
Aボタン | 左ボタン |
+ボタン | 右ボタン |
Bボタン | 押している間マウスカーソルを止める |
Bボタンを押しながら−ボタン | 押している間マウスカーソルの動きが遅くなる |
−ボタン | マウスカーソルの移動速度を 通常←→遅い と 交互に変更する |
1ボタン | マウスホイールを下に回す |
Bボタンを押しながら1ボタン | マウスホイールを上に回す |
2ボタンを押しながらBボタン | Alt+Tab |
HOMEボタン | マウスカーソルを画面中央にリセットする |
// 初期化処理 if (Starting) { var.DispWidth = 1920; // 使っているディスプレイの解像度の幅 var.DispHeight = 1200; // 使っているディスプレイの解像度の高さ var.IsSlow = False; // 値を変更しないで下さい } // ヨー ピッチ の 変化の取得 var.Vec_X = Wiimote.MotionPlus.GyroYaw - var.Last_GyroYaw; var.Vec_Y = Wiimote.MotionPlus.GyroPitch - var.Last_GyroPitch; var.Last_GyroYaw = Wiimote.MotionPlus.GyroYaw; var.Last_GyroPitch = Wiimote.MotionPlus.GyroPitch; // リモコンをきちんと静止した状態で使い始めても 微振動を感知して // カーソルが動いてしまう事があるのでその現象を抑制します // ゆっくりカーソルを動かそうと思ったら カーソルがカクついてしまう場合は // 値を小さくしてみてください(0.001単位くらいで調整できます) if (abs(var.Vec_X) < 0.025){ var.Vec_X = 0; } if (abs(var.Vec_Y) < 0.025){ var.Vec_Y = 0; } // カーソルの移動処理 if (!Wiimote.B) { if (Wiimote.Minus) { var.IsSlow = !var.IsSlow; Wait 500ms; } if (Wiimote.A) { Mouse.CursorPosX += (var.Vec_X / 500000); Mouse.CursorPosY -= (var.Vec_Y / 500000); }elseif (var.IsSlow) { Mouse.CursorPosX += (var.Vec_X / 1000000); Mouse.CursorPosY -= (var.Vec_Y / 1000000); }else{ Mouse.CursorPosX += (var.Vec_X / 200000); Mouse.CursorPosY -= (var.Vec_Y / 200000); } }else{ if (Wiimote.Minus) { Mouse.CursorPosX += (var.Vec_X / 1500000); Mouse.CursorPosY -= (var.Vec_Y / 1500000); } } // Homeボタンで カーソルを中央に戻す if (Wiimote.Home and !Wiimote.B) { Mouse.CursorPosX = var.DispWidth / 2; Mouse.CursorPosY = var.DispHeight / 2; } // 1ボタンで ホイール回転下 // Bボタン押しながら 1ボタンで ホイール回転上 if (Wiimote.One) { if (Wiimote.B) { Mouse.WheelUp = True; }else{ Mouse.WheelDown = True; } Wait 200ms; } // Bボタンを押しながら 2ボタンで Alt+Tab Alt = Wiimote.Two; Tab = (Wiimote.Two and Wiimote.B); // その他のキーアサイン Keyboard.Up = Wiimote.Up; Keyboard.Down = Wiimote.Down; Keyboard.Left = Wiimote.Left; Keyboard.Right = Wiimote.Right; Mouse.LeftButton = Wiimote.A; Mouse.RightButton = Wiimote.Plus;