- int[] povs = data.GetPointOfViewControllers();\r
- if ( povs != null )\r
- {\r
- STInputEvent e = new STInputEvent();\r
- int p = ( (int) data.JoystickDeviceType - (int) JoystickDeviceType.POV0 ) / ( (int) JoystickDeviceType.POV1 - (int) JoystickDeviceType.POV0 ); // p = 0,1,2,3\r
- // #31030 2013.3.25 yyagi; p is not 0123 but 048.. Sop must be divided into 4 ( POV1 - POV0 == 4).\r
- int nPovDegree = povs[ p ];\r
- int nWay = ( nPovDegree + 2250 ) / 4500;\r
- if ( nWay == 8 ) nWay = 0;\r
- //Debug.WriteLine( "POVS:" + povs[ 0 ].ToString( CultureInfo.CurrentCulture ) + ", " +stevent.nKey );\r
-//Debug.WriteLine( "nPovDegree=" + nPovDegree );\r
- if ( nPovDegree == -1 )\r
- {\r
- e.nKey = 6 + 128 + this.nPovState[ p ];\r
- this.nPovState[ p ] = -1;\r
-//Debug.WriteLine( "POVS離された" + data.TimeStamp + " " + e.nKey );\r
- e.b押された = false;\r
- e.nVelocity = 0;\r
- this.bButtonState[ e.nKey ] = false;\r
- this.bButtonPullUp[ e.nKey ] = true;\r
- } else {\r
- this.nPovState[ p ] = nWay;\r
- e.nKey = 6 + 128 + nWay;\r
- e.b押された = true;\r
- e.nVelocity = CInput管理.n通常音量;\r
- this.bButtonState[ e.nKey ] = true;\r
- this.bButtonPushDown[ e.nKey ] = true;\r
-//Debug.WriteLine( "POVS押された" + data.TimeStamp + " " + e.nKey );\r
- }\r
- //e.nTimeStamp = data.TimeStamp;\r
- e.nTimeStamp = CSound管理.rc演奏用タイマ.nサウンドタイマーのシステム時刻msへの変換( data.TimeStamp );\r
- this.list入力イベント.Add( e );\r
- }\r
+ POVの処理( 0, data.Value );\r
+ #endregion\r
+ break;\r
+ case JoystickOffset.PointOfViewControllers1:\r
+ #region [ POV HAT 4/8way ]\r
+ POVの処理( 1, data.Value );\r
+ #endregion\r
+ break;\r
+ case JoystickOffset.PointOfViewControllers2:\r
+ #region [ POV HAT 4/8way ]\r
+ POVの処理( 2, data.Value );\r
+ #endregion\r
+ break;\r
+ case JoystickOffset.PointOfViewControllers3:\r
+ #region [ POV HAT 4/8way ]\r
+ POVの処理( 3, data.Value );\r