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); } } }
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); }
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; } }