ReadReport() public method

public ReadReport ( ) : HidLibrary.HidReport
return HidLibrary.HidReport
コード例 #1
2
ファイル: Program.cs プロジェクト: Erguotou/HidLibrary
        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();
            }
        }
コード例 #2
0
        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;
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
        /// <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;
        }
コード例 #5
0
ファイル: MainWindow.xaml.cs プロジェクト: shorty131/Arr2014
        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; };
        }
コード例 #6
-1
ファイル: Program.cs プロジェクト: Erguotou/HidLibrary
        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();
            }
        }