private static void HIDManager_OnConnected(object sender, EventArgs e) { CurrentState = GetState(); HIDManager.StartListening(); SendRawHIDMessage(RawHIDMessage.HID_CONNECTED); OnConnected?.Invoke(typeof(Engine), new EventArgs()); }
public HIDSetupPage() { this.InitializeComponent(); this.manager = HIDManager.Current; this.resources = new ResourceLoader(); this.boxToButtonMappings = new Dictionary <UIElement, Utility.Button>(); this.boxToButtonMappingsAlt = new Dictionary <UIElement, Utility.Button>(); this.services = new UWPServiceProvider(this.Dispatcher); this.boxToButtonMappings.Add(this.leftBindingBox, Utility.Button.Left); this.boxToButtonMappingsAlt.Add(this.leftBindingBox2, Utility.Button.Left); this.boxToButtonMappings.Add(this.upBindingBox, Utility.Button.Up); this.boxToButtonMappingsAlt.Add(this.upBindingBox2, Utility.Button.Up); this.boxToButtonMappings.Add(this.rightBindingBox, Utility.Button.Right); this.boxToButtonMappingsAlt.Add(this.rightBindingBox2, Utility.Button.Right); this.boxToButtonMappings.Add(this.downBindingBox, Utility.Button.Down); this.boxToButtonMappingsAlt.Add(this.downBindingBox2, Utility.Button.Down); this.boxToButtonMappings.Add(this.startBindingBox, Utility.Button.Start); this.boxToButtonMappingsAlt.Add(this.startBindingBox2, Utility.Button.Start); this.boxToButtonMappings.Add(this.selectBindingBox, Utility.Button.Select); this.boxToButtonMappingsAlt.Add(this.selectBindingBox2, Utility.Button.Select); this.boxToButtonMappings.Add(this.lBindingBox, Utility.Button.L); this.boxToButtonMappingsAlt.Add(this.lBindingBox2, Utility.Button.L); this.boxToButtonMappings.Add(this.rBindingBox, Utility.Button.R); this.boxToButtonMappingsAlt.Add(this.rBindingBox2, Utility.Button.R); this.boxToButtonMappings.Add(this.aBindingBox, Utility.Button.A); this.boxToButtonMappingsAlt.Add(this.aBindingBox2, Utility.Button.A); this.boxToButtonMappings.Add(this.bBindingBox, Utility.Button.B); this.boxToButtonMappingsAlt.Add(this.bBindingBox2, Utility.Button.B); this.boxToButtonMappings.Add(this.turboBindingBox, Utility.Button.Turbo); this.boxToButtonMappingsAlt.Add(this.turboBindingBox2, Utility.Button.Turbo); }
/// <summary> /// Starts this engine. This will wait till the correct HID device is connected and create the virtual MIDI device. /// </summary> public static void Start() { HIDManager.OnConnected += HIDManager_OnConnected; HIDManager.OnDisconnected += HIDManager_OnDisconnected; HIDManager.OnHidDataReceived += HIDManager_OnHidDataReceived; HIDManager.WaitForDevice(0xFEED, 0xAF12, 0xFF60); _midiDevice = new VirtualMidiDevice("Plaid Pad MIDI"); }
private static byte[] SendRawHIDMessage(RawHIDMessage message, bool waitForReply = false, byte[] messageData = null) { var data = new byte[32]; data[1] = (byte)message; if (messageData != null) { for (var i = 0; i < messageData.Length; i++) { data[i + 1] = messageData[i]; } } if (waitForReply) { return(HIDManager.SendDataWaitForReply(data)); } HIDManager.SendData(data); return(null); }
/// <summary> /// Stops the engine. This will disconnect with the HID device. /// </summary> public static void Stop() { SendRawHIDMessage(RawHIDMessage.HID_DISCONNECTED); HIDManager.StopListening(); }
private static void HIDManager_OnDisconnected(object sender, EventArgs e) { HIDManager.StopListening(); OnDisconnected?.Invoke(typeof(Engine), new EventArgs()); }