private void FJoystick_Check_Data() { #region JoyStick // [ 아래는 XBox 기준이다. ] // 스틱좌상단, 0+ - 좌, 1+ - 하 // 패드 2+ - 좌, 3+ - 하 // 스틱우하단, 4+ - 좌, 5+ - 하 // 버튼 // Top 6 - -3 : 클릭 // Left 7 - -3 : 클릭 // Right 8 - -3 : 클릭 // Bottom 9 - -3 : 클릭 // 전면우측 10 - -3 : 클릭 // 전면좌측 11 - -3 : 클릭 // 전면우측아래 12- : 클릭 // 전면좌측아래 13- : 클릭 if (m_CJoy.IsValid == true) { //// 좌상단 조이스틱 if (Math.Abs(m_CJoy.dX0 - 0.5) > 0.2) { if (m_CTmr_Throat.Get() > 100) { double dData = (double)Math.Abs(m_CJoy.dX0 - 0.5); if (dData > 0) { //1448 +- 300 double dValue = 1448 + (dData * 2) * 300;// (dData * 2) * 100.0; int nValue2 = (int)((dData * 2) * 65535); nValue2 = (nValue2 != 0) ? 1 : 0; Ojw.CMessage.Write("Data = {0}", dValue); SendValue(1, nValue2, 1, nValue2, 1, (int)dValue, 1, (int)dValue, 1, (int)dValue); } else { //SendValue(0, 0, 0, 0, 1, 0, 1, 0, 1, 0); } m_CTmr_Throat.Set(); } m_C3d.SetData(1, (float)((m_CJoy.dX0 - 0.5) / 5.0 * 10.0)); m_C3d.SetData(2, (float)((m_CJoy.dX0 - 0.5) / 5.0 * 10.0)); } else { if (m_CTmr_Throat.Get() > 100) { m_CTmr_Throat.Set(); } m_C3d.SetData(1, 0); m_C3d.SetData(2, 0); } if (Math.Abs(m_CJoy.dY1 - 0.5) > 0.2) { m_C3d.SetData(0, (float)10.0f); //((m_CJoy.dY0 - 0.5) / 5.0 * 10.0)); } else { m_C3d.SetData(0, 0); } #if _XBOX // int nValue = 65535; if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button5) == true) //if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button7) == true) { //m_CSocket.Send(Ojw.CConvert.StrToBytes("0")); m_C3d.SetColor_Second(0, 4, 4, 0, Color.Cyan); //nRight = 100; //Ojw.CMessage.Write("Clicked 9"); Ojw.CMessage.Write("Light Right 100"); SendValue(1, nValue, 1, nValue, 0, 0, 0, 0, 0, 0); } else if (m_CJoy.IsUp_Event(Ojw.CJoystick.PadKey.Button5) == true) { //nRight = 0; m_C3d.SetColor_Second(0, 4, 4, 0, Color.Black); Ojw.CMessage.Write("Light Right off"); SendValue(1, 0, 1, 0, 0, 0, 0, 0, 0, 0); } if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button6) == true) //if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button8) == true) { //nLeft = 100; m_C3d.SetColor_Second(1, 5, 5, 0, Color.Cyan); //m_CSocket.Send(Ojw.CConvert.StrToBytes("1")); Ojw.CMessage.Write("Light Left 100"); //Ojw.CMessage.Write("Clicked 10"); SendValue(1, nValue, 1, nValue, 0, 0, 0, 0, 0, 0); } else if (m_CJoy.IsUp_Event(Ojw.CJoystick.PadKey.Button6) == true) { //nLeft = 0; m_C3d.SetColor_Second(1, 5, 5, 0, Color.Black); Ojw.CMessage.Write("Light Left off"); SendValue(1, 0, 1, 0, 0, 0, 0, 0, 0, 0); } #else if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button7) == true) { m_C3d.SetColor_Second(0, 4, 4, 0, Color.Cyan); Ojw.CMessage.Write("Clicked 9"); SendValue(1, 100, 0, 0, 0, 0, 0, 0); } else if (m_CJoy.IsUp_Event(Ojw.CJoystick.PadKey.Button7) == true) { m_C3d.SetColor_Second(0, 4, 4, 0, Color.Black); SendValue(1, 0, 0, 0, 0, 0, 0, 0); } if (m_CJoy.IsDown_Event(Ojw.CJoystick.PadKey.Button8) == true) { m_C3d.SetColor_Second(1, 5, 5, 0, Color.Cyan); Ojw.CMessage.Write("Clicked 10"); SendValue(0, 0, 1, 100, 0, 0, 0, 0); } else if (m_CJoy.IsUp_Event(Ojw.CJoystick.PadKey.Button8) == true) { m_C3d.SetColor_Second(1, 5, 5, 0, Color.Black); SendValue(0, 0, 1, 0, 0, 0, 0, 0); } #endif // 이 부분이 어떤 버튼이 눌리는지를 화면상에 뿌려준다. for (int i = 0; i < 30; i++) { if (m_CJoy.IsDown_Event((Ojw.CJoystick.PadKey)i) == true) { Ojw.CMessage.Write("Button Down{0}", i); } if (m_CJoy.IsUp_Event((Ojw.CJoystick.PadKey)i) == true) { Ojw.CMessage.Write("Button Up{0}", i); } } } #endregion JoyStick }