Exemple #1
0
        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
        }