{\r
this.list入力イベント = new List<STInputEvent>( 32 );\r
int posEnter = -1;\r
+ string d = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.ffff");\r
\r
if( bバッファ入力を使用する )\r
{\r
\r
this.bKeyState[ (int) key ] = true;\r
this.bKeyPushDown[ (int) key ] = true;\r
+#if TEST_CancelEnterCodeInAltEnter\r
if ( (int)key == (int)SlimDX.DirectInput.Key.Return )\r
{\r
- posEnter = this.list入力イベント.Count - 1; // #23708 2011.1.16 yyagiEnterのlist位置を記憶\r
+ posEnter = this.list入力イベント.Count - 1; // #23708 2011.1.16 yyagi Enterのlist位置を記憶\r
}\r
+if ( (int)key == (int)SlimDX.DirectInput.Key.RightAlt) {\r
+Debug.WriteLine( d + ": RAlt State/PushDown=true");\r
+}\r
+#endif\r
}\r
foreach( Key key in data.ReleasedKeys )\r
{\r
\r
this.bKeyState[ (int) key ] = false;\r
this.bKeyPullUp[ (int) key ] = true;\r
+#if TEST_CancelEnterCodeInAltEnter\r
+if ( (int)key == (int)SlimDX.DirectInput.Key.RightAlt) {\r
+Debug.WriteLine( d + ": RAlt State = false PullUp=true");\r
+}\r
+#endif\r
}\r
}\r
}\r
this.bKeyState[ (int) key ] = true;\r
this.bKeyPushDown[ (int) key ] = true;\r
\r
+#if TEST_CancelEnterCodeInAltEnter\r
if ( (int)key == (int)SlimDX.DirectInput.Key.Return )\r
{\r
posEnter = this.list入力イベント.Count - 1; // #23708 2011.1.16 yyagi Enterのlist位置を記憶\r
}\r
+#endif\r
}\r
}\r
foreach( Key key in currentState.ReleasedKeys )\r
//-----------------------------\r
#endregion\r
}\r
+#if TEST_CancelEnterCodeInAltEnter\r
#region [#23708 2011.1.16 yyagi Alt+Enter発生時、Enter押下情報を削除する]\r
if ( this.bKeyPushDown[ (int) SlimDX.DirectInput.Key.Return ] == true )\r
{\r
+Debug.WriteLine( d + ": Enter PushDown=true" );\r
if ( this.bKeyPullUp[ (int) SlimDX.DirectInput.Key.Return ] == true )\r
{\r
+Debug.WriteLine( d + ": Enter PullUp=true" );\r
// #23708 2011.1.16 yyagi\r
// フルスクリーンとウインドウを切り替える際、バッファ内でEnterのPushDownとPullUpが両方ともtrueとなることがある。\r
// その際はどちらもfalseにして、Enter入力を無かったことにし、フルスクリーンとウインドウ切り替え時の\r
}\r
if ( this.bKeyState[ (int) SlimDX.DirectInput.Key.LeftAlt ] == true || this.bKeyState[ (int) SlimDX.DirectInput.Key.RightAlt ] == true )\r
{\r
+Debug.WriteLine( d + ": Alt LALTstate=" + this.bKeyState[ (int)SlimDX.DirectInput.Key.LeftAlt] + ", RALTstate=" + this.bKeyState[ (int)SlimDX.DirectInput.Key.RightAlt] );\r
+Debug.WriteLine( d + ": Alt LALTPushDown=" + this.bKeyPushDown[ (int) SlimDX.DirectInput.Key.LeftAlt ] + ", RALTPushDown=" + this.bKeyPushDown[ (int) SlimDX.DirectInput.Key.RightAlt ] );\r
+Debug.WriteLine( d + ": Alt LALTPullUp=" + this.bKeyPullUp[ (int) SlimDX.DirectInput.Key.LeftAlt ] + ", RALTPullUp=" + this.bKeyPullUp[ (int) SlimDX.DirectInput.Key.RightAlt ] );\r
+\r
// #23708 2011.1.16 yyagi\r
// alt-enter押下時は、DTXMania内部としては Enter押下を無かったことにする。\r
// (しかしFormの処理としてはEnter押下が残るので、フルスクリーンとウインドウの切り替えのみ実行され、\r
// 選曲画面等での実行動作は無くなる。)\r
- this.bKeyState[ (int) SlimDX.DirectInput.Key.Return ] = false;\r
- this.bKeyPushDown[ (int) SlimDX.DirectInput.Key.Return ] = false;\r
- this.list入力イベント.RemoveAt( posEnter );\r
+ if ( posEnter >= 0 )\r
+ {\r
+ this.bKeyState[ (int) SlimDX.DirectInput.Key.Return ] = false;\r
+ this.bKeyPushDown[ (int) SlimDX.DirectInput.Key.Return ] = false;\r
+ this.list入力イベント.RemoveAt( posEnter );\r
+ }\r
}\r
}\r
#endregion\r
+#endif\r
}\r
}\r
public bool bキーが押された( int nKey )\r