static void Main() { _device = HidDevices.Enumerate(VendorId, ProductId).FirstOrDefault(); if (_device != null) { _device.OpenDevice(); _device.Inserted += DeviceAttachedHandler; _device.Removed += DeviceRemovedHandler; _device.MonitorDeviceEvents = true; _device.ReadReport(OnReport); Console.WriteLine("Reader found, press any key to exit."); Console.ReadKey(); _device.CloseDevice(); } else { Console.WriteLine("Could not find reader."); Console.ReadKey(); } }
public bool OpenDevice() { var devices = HidDevices.Enumerate(VendorId); if (devices != null && devices.Any()) { Device = devices.First(); if (Device != null) { Device.OpenDevice(); Device.Inserted += () => { DeviceAttached(); Device.ReadReport(OnReportReceived); }; Device.Removed += DeviceRemoved; Device.MonitorDeviceEvents = true; return true; } } return false; }
/// <summary> /// Attempts to connect to a PowerMate device. /// /// After a successful connection, a DeviceAttached event will normally be sent. /// </summary> /// <returns>True if a PowerMate device is connected, False otherwise.</returns> public bool OpenDevice() { device = HidDevices.Enumerate(VendorId, ProductId).FirstOrDefault(); if (device != null) { connectedToDriver = true; device.OpenDevice(); device.Inserted += DeviceAttachedHandler; device.Removed += DeviceRemovedHandler; device.MonitorDeviceEvents = true; device.ReadReport(OnReport); return true; } return false; }
/// <summary> /// After a successful connection, a DeviceAttached event will normally be sent. /// </summary> /// <returns>True if a device is connected, False otherwise.</returns> public bool Connect() { //TODO: introduce a way to handle multiple devices throughout driver Devices = HidDevices.Enumerate(VendorId, ProductId); _device = Devices.FirstOrDefault(); if (_device != null) { _connectedToDriver = true; _device.OpenDevice(); _device.Inserted += DeviceAttachedHandler; _device.Removed += DeviceRemovedHandler; _device.MonitorDeviceEvents = true; _device.ReadReport(OnReport); return true; } return false; }
public int proveraPumpi() { System.Windows.Threading.DispatcherTimer T = new System.Windows.Threading.DispatcherTimer(); T.Tick += new EventHandler(dispatcherTimer_Tick); T.Interval = new TimeSpan(0, 0, 0, 0, 100); T.Start(); //_deviceList = HidDevices.Enumerate().ToArray() ; //duzina = _deviceList.GetLength(0); //if (_deviceList[duzina].Equals(HidDevices.Enumerate(0x1234))) //{ try { _selectedDevice = HidDevices.Enumerate(0x1234, 0x0021).First(); _selectedDevice.OpenDevice(); _selectedDevice.MonitorDeviceEvents = true; _selectedDevice.Inserted += Device_Inserted; _selectedDevice.Removed += Device_Removed; gaga = _selectedDevice.CreateReport(); //var device = _selectedDevice; //device.OpenDevice(); //device.MonitorDeviceEvents = true; // device.ReadReport(ReadProcess); _selectedDevice.ReadReport(ReadProcess); return 1; } catch { return 0; }; }
static void Main() { foreach (var productId in ProductIds) { _device = HidDevices.Enumerate(VendorId, productId).FirstOrDefault(); if (_device == null) continue; _currentProductId = productId; _device.OpenDevice(); _device.Inserted += DeviceAttachedHandler; _device.Removed += DeviceRemovedHandler; _device.MonitorDeviceEvents = true; _device.ReadReport(OnReport); break; } if (_device != null) { Console.WriteLine("Gamepad found, press any key to exit."); Console.ReadKey(); _device.CloseDevice(); } else { Console.WriteLine("Could not find a gamepad."); Console.ReadKey(); } }