private Task GetFFBMessages() { // No output report for current EmuController HID report exceeds 32 bytes. byte[] buffer = new byte[32]; // Internally driver restarts FFB named pipe server whenever connection is closed with input client, // which closes the current connection with FFB client, causing Read() to fail. while (FFBPipeClient.IsConnected) { FFBPipeClient.Read(buffer, 0, buffer.Length); FFBDataReceivedEventArgs eventArgs = new FFBDataReceivedEventArgs(buffer); OnFFBDataReceived(eventArgs); } return(Task.CompletedTask); }
protected virtual void OnFFBDataReceived(FFBDataReceivedEventArgs e) { EventHandler <FFBDataReceivedEventArgs> handler = FFBDataReceived; handler?.Invoke(this, e); }
private void FFBDataReceived(object sender, FFBDataReceivedEventArgs e) { // Outputs packet type that EmuController received. Console.WriteLine(e.ReportId.ToString()); }