static void ButtonState(SharpDX.DirectInput.JoystickUpdate state, char number, Stream TCPstream)
        {
            ASCIIEncoding asen = new ASCIIEncoding();

            byte[] byteArray = null; //asen.GetBytes(message);

            string Button = ButtonTranslate(number);

            if (state.Value == 128)
            {
                Console.WriteLine("Button " + number + " pressed!");
                if (Button != "NADA")
                {
                    byteArray = asen.GetBytes(Button + "1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                }
            }
            else if (state.Value == 0)
            {
                Console.WriteLine("Button " + number + " un-pressed!");
                if (Button != "NADA")
                {
                    byteArray = asen.GetBytes(Button + "0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                }
            }
        }
 private void FireJoystickInputEvent(JoystickUpdate updateData)
 {
     if(OnJoystickInput != null)
     {
         OnJoystickInput(updateData);
     }
 }
        static void ButtonState(SharpDX.DirectInput.JoystickUpdate state, char number, SerialPort SerialConnection)
        {
            ASCIIEncoding asen = new ASCIIEncoding();

            string Button = ButtonTranslate(number);

            if (state.Value == 128)
            {
                Console.WriteLine("Button " + number + " pressed!");
                if (Button != "NADA")
                {
                    string ClientMessage = (Button + "1");
                    Console.WriteLine(ClientMessage);
                    SerialConnection.Write(ClientMessage);
                }
            }
            else if (state.Value == 0)
            {
                Console.WriteLine("Button " + number + " un-pressed!");
                if (Button != "NADA")
                {
                    string ClientMessage = (Button + "0");
                    Console.WriteLine(ClientMessage);
                    SerialConnection.Write(ClientMessage);
                }
            }
        }
Exemple #4
0
        private String JoystickUpdateToQko(SharpDX.DirectInput.JoystickUpdate update)
        {
            string offset = update.Offset.ToString();
            int    value  = update.Value;

            string[] ignoredInput = { "X", "Y" };
            string   qkoInput     = "";

            if (offset.Contains("Buttons"))
            {
                var buttonNum = Int32.Parse(offset.Replace("Buttons", "")) + 1;
                qkoInput = "button_" + buttonNum;
            }
            else if (offset.Contains("PointOfViewControllers"))
            {
                string qkoDirection = "";
                if (value == 0)
                {
                    qkoDirection = "up";
                }
                else if (value == 18000)
                {
                    qkoDirection = "down";
                }
                else if (value == 27000)
                {
                    qkoDirection = "left";
                }
                else if (value == 9000)
                {
                    qkoDirection = "right";
                }

                var qkoPovNum = Int32.Parse(offset.Replace("PointOfViewControllers", ""));

                qkoInput = $"hat_{qkoPovNum}_{qkoDirection}";
            }
            else if (ignoredInput.Contains(offset))
            {
                qkoInput = null;
            }
            return(qkoInput);
        }
        private bool DoButtonClick(int offset, MDI.JoystickUpdate entry)
        {
            var eventArgs = new JoystickEventArgs(this, JoystickState);

            if ((entry.Value & 0x80) != 0)
            {
                JoystickState.Buttons |= offset;
                if (IsBuffered && EventListener != null)
                {
                    return(EventListener.ButtonPressed(eventArgs, 0));
                }
            }
            else
            {
                JoystickState.Buttons &= ~offset;
                if (IsBuffered && EventListener != null)
                {
                    return(EventListener.ButtonReleased(eventArgs, 0));
                }
            }
            return(true);
        }
Exemple #6
0
        public void OnJoystickUpdate(JoystickUpdate[] updates)
        {
            int button;
            bool down;
            foreach (JoystickUpdate update in updates) {

                // Buttons 1 & 2
                if (update.Offset >= JoystickOffset.Buttons0 && update.Offset <= JoystickOffset.Buttons1) {
                    button = update.Offset - JoystickOffset.Buttons0 + 12;
                    down = update.Value > 0;
                    if (down) {
                        buttons |= ((uint)1 << button);
                    } else {
                        buttons &= ~((uint)1 << button);
                    }
                    Console.WriteLine("Button: " + button + ", Down = " + down);
                }
            }
            if (buttons != oldButtons) {
                adapterManager.SendButtons(buttons);
                oldButtons = buttons;
            }
        }
 private bool ChangePOV(int button, MDI.JoystickUpdate entry)
 {
     return(true);
 }
        private void MJoystickComponent_OnJoystickInput(JoystickUpdate updateEvent)
        {

        }
        static void DpadState(SharpDX.DirectInput.JoystickUpdate state, Stream TCPstream)
        {
            ASCIIEncoding asen = new ASCIIEncoding();

            byte[] byteArray = null; //asen.GetBytes(message);

            switch (state.Value)
            {
            case -1:     //ALL DPAD INPUTS OFF
                switch (Dpad)
                {
                case 1:
                    Console.WriteLine("DPAD UP un-pressed");
                    byteArray = asen.GetBytes("a0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 2:
                    Console.WriteLine("DPAD UP un-pressed");
                    byteArray = asen.GetBytes("a0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD RIGHT un-pressed");
                    byteArray = asen.GetBytes("d0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 3:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    byteArray = asen.GetBytes("d0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 4:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    byteArray = asen.GetBytes("d0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD DOWN un-pressed");
                    byteArray = asen.GetBytes("b0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 5:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    byteArray = asen.GetBytes("b0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 6:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    byteArray = asen.GetBytes("b0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD LEFT un-pressed");
                    byteArray = asen.GetBytes("c0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 7:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    byteArray = asen.GetBytes("c0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 8:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    byteArray = asen.GetBytes("c0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD UP un-pressed");
                    byteArray = asen.GetBytes("a0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 0;
                break;

            case 0:     //UP
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    byteArray = asen.GetBytes("a1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 2:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    byteArray = asen.GetBytes("d0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 8:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    byteArray = asen.GetBytes("c0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 1;
                break;

            case 4500:     //UP RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    byteArray = asen.GetBytes("a1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD RIGHT pressed");
                    byteArray = asen.GetBytes("d1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 1:
                    Console.WriteLine("DPAD RIGHT pressed");
                    byteArray = asen.GetBytes("d1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 3:
                    Console.WriteLine("DPAD UP pressed");
                    byteArray = asen.GetBytes("a1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 2;
                break;

            case 9000:     //RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD RIGHT pressed");
                    byteArray = asen.GetBytes("d1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 2:
                    Console.WriteLine("DPAD UP un-pressed");
                    byteArray = asen.GetBytes("a0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 4:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    byteArray = asen.GetBytes("b0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 3;
                break;

            case 13500:     //DOWN RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    byteArray = asen.GetBytes("b1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD RIGHT pressed");
                    byteArray = asen.GetBytes("d1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 3:
                    Console.WriteLine("DPAD DOWN pressed");
                    byteArray = asen.GetBytes("b1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 5:
                    Console.WriteLine("DPAD RIGHT pressed");
                    byteArray = asen.GetBytes("d1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 4;
                break;

            case 18000:     //DOWN
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    byteArray = asen.GetBytes("b1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 4:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    byteArray = asen.GetBytes("d0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 6:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    byteArray = asen.GetBytes("c0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 5;
                break;

            case 22500:     //DOWN LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    byteArray = asen.GetBytes("b1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD LEFT pressed");
                    byteArray = asen.GetBytes("c1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 5:
                    Console.WriteLine("DPAD LEFT pressed");
                    byteArray = asen.GetBytes("c1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 7:
                    Console.WriteLine("DPAD DOWN pressed");
                    byteArray = asen.GetBytes("b1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 6;
                break;

            case 27000:     //LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD LEFT pressed");
                    byteArray = asen.GetBytes("c1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 6:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    byteArray = asen.GetBytes("b0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 8:
                    Console.WriteLine("DPAD UP un-pressed");
                    byteArray = asen.GetBytes("a0");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 7;
                break;

            case 31500:     //UP LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    byteArray = asen.GetBytes("a1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);

                    Console.WriteLine("DPAD LEFT pressed");
                    byteArray = asen.GetBytes("c1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 7:
                    Console.WriteLine("DPAD UP pressed");
                    byteArray = asen.GetBytes("a1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;

                case 1:
                    Console.WriteLine("DPAD LEFT pressed");
                    byteArray = asen.GetBytes("c1");
                    TCPstream.Write(byteArray, 0, byteArray.Length);
                    break;
                }
                Dpad = 8;
                break;
            }
        }
        static void DpadState(SharpDX.DirectInput.JoystickUpdate state, SerialPort SerialConnection)
        {
            switch (state.Value)
            {
            case -1:     //ALL DPAD INPUTS OFF
                switch (Dpad)
                {
                case 1:
                    Console.WriteLine("DPAD UP un-pressed");
                    Console.WriteLine("a0");
                    SerialConnection.Write("a0");
                    break;

                case 2:
                    Console.WriteLine("DPAD UP un-pressed");
                    Console.WriteLine("a0");
                    SerialConnection.Write("a0");

                    Console.WriteLine("DPAD RIGHT un-pressed");
                    Console.WriteLine("d0");
                    SerialConnection.Write("d0");
                    break;

                case 3:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    Console.WriteLine("d0");
                    SerialConnection.Write("d0");
                    break;

                case 4:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    Console.WriteLine("d0");
                    SerialConnection.Write("d0");

                    Console.WriteLine("DPAD DOWN un-pressed");
                    Console.WriteLine("b0");
                    SerialConnection.Write("b0");
                    break;

                case 5:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    Console.WriteLine("b0");
                    SerialConnection.Write("b0");
                    break;

                case 6:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    Console.WriteLine("b0");
                    SerialConnection.Write("b0");

                    Console.WriteLine("DPAD LEFT un-pressed");
                    Console.WriteLine("c0");
                    SerialConnection.Write("c0");
                    break;

                case 7:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    Console.WriteLine("c0");
                    SerialConnection.Write("c0");
                    break;

                case 8:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    Console.WriteLine("c0");
                    SerialConnection.Write("c0");

                    Console.WriteLine("DPAD UP un-pressed");
                    Console.WriteLine("a0");
                    SerialConnection.Write("a0");
                    break;
                }
                Dpad = 0;
                break;

            case 0:     //UP
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    Console.WriteLine("a1");
                    SerialConnection.Write("a1");
                    break;

                case 2:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    Console.WriteLine("d0");
                    SerialConnection.Write("d0");
                    break;

                case 8:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    Console.WriteLine("c0");
                    SerialConnection.Write("c0");
                    break;
                }
                Dpad = 1;
                break;

            case 4500:     //UP RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    Console.WriteLine("a1");
                    SerialConnection.Write("a1");

                    Console.WriteLine("DPAD RIGHT pressed");
                    Console.WriteLine("d1");
                    SerialConnection.Write("d1");
                    break;

                case 1:
                    Console.WriteLine("DPAD RIGHT pressed");
                    Console.WriteLine("d1");
                    SerialConnection.Write("d1");
                    break;

                case 3:
                    Console.WriteLine("DPAD UP pressed");
                    Console.WriteLine("a1");
                    SerialConnection.Write("a1");
                    break;
                }
                Dpad = 2;
                break;

            case 9000:     //RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD RIGHT pressed");
                    Console.WriteLine("d1");
                    SerialConnection.Write("d1");
                    break;

                case 2:
                    Console.WriteLine("DPAD UP un-pressed");
                    Console.WriteLine("a0");
                    SerialConnection.Write("a0");
                    break;

                case 4:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    Console.WriteLine("b0");
                    SerialConnection.Write("b0");
                    break;
                }
                Dpad = 3;
                break;

            case 13500:     //DOWN RIGHT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    Console.WriteLine("b1");
                    SerialConnection.Write("b1");

                    Console.WriteLine("DPAD RIGHT pressed");
                    Console.WriteLine("d1");
                    SerialConnection.Write("d1");
                    break;

                case 3:
                    Console.WriteLine("DPAD DOWN pressed");
                    Console.WriteLine("b1");
                    SerialConnection.Write("b1");
                    break;

                case 5:
                    Console.WriteLine("DPAD RIGHT pressed");
                    Console.WriteLine("d1");
                    SerialConnection.Write("d1");
                    break;
                }
                Dpad = 4;
                break;

            case 18000:     //DOWN
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    Console.WriteLine("b1");
                    SerialConnection.Write("b1");
                    break;

                case 4:
                    Console.WriteLine("DPAD RIGHT un-pressed");
                    Console.WriteLine("d0");
                    SerialConnection.Write("d0");
                    break;

                case 6:
                    Console.WriteLine("DPAD LEFT un-pressed");
                    Console.WriteLine("c0");
                    SerialConnection.Write("c0");
                    break;
                }
                Dpad = 5;
                break;

            case 22500:     //DOWN LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD DOWN pressed");
                    Console.WriteLine("b1");
                    SerialConnection.Write("b1");

                    Console.WriteLine("DPAD LEFT pressed");
                    Console.WriteLine("c1");
                    SerialConnection.Write("c1");
                    break;

                case 5:
                    Console.WriteLine("DPAD LEFT pressed");
                    Console.WriteLine("c1");
                    SerialConnection.Write("c1");
                    break;

                case 7:
                    Console.WriteLine("DPAD DOWN pressed");
                    Console.WriteLine("b1");
                    SerialConnection.Write("b1");
                    break;
                }
                Dpad = 6;
                break;

            case 27000:     //LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD LEFT pressed");
                    Console.WriteLine("c1");
                    SerialConnection.Write("c1");
                    break;

                case 6:
                    Console.WriteLine("DPAD DOWN un-pressed");
                    Console.WriteLine("b0");
                    SerialConnection.Write("b0");
                    break;

                case 8:
                    Console.WriteLine("DPAD UP un-pressed");
                    Console.WriteLine("a0");
                    SerialConnection.Write("a0");
                    break;
                }
                Dpad = 7;
                break;

            case 31500:     //UP LEFT
                switch (Dpad)
                {
                case 0:
                    Console.WriteLine("DPAD UP pressed");
                    Console.WriteLine("a1");
                    SerialConnection.Write("a1");

                    Console.WriteLine("DPAD LEFT pressed");
                    Console.WriteLine("c1");
                    SerialConnection.Write("c1");
                    break;

                case 7:
                    Console.WriteLine("DPAD UP pressed");
                    Console.WriteLine("a1");
                    SerialConnection.Write("a1");
                    break;

                case 1:
                    Console.WriteLine("DPAD LEFT pressed");
                    Console.WriteLine("c1");
                    SerialConnection.Write("c1");
                    break;
                }
                Dpad = 8;
                break;
            }
        }