diff --git a/Analyzer/AboutBox.cs b/Analyzer/AboutBox.cs
index 3c82b8a..7eeca73 100644
--- a/Analyzer/AboutBox.cs
+++ b/Analyzer/AboutBox.cs
@@ -1,15 +1,11 @@
using System;
-using System.Collections.Generic;
-using System.ComponentModel;
using System.Diagnostics;
-using System.Drawing;
-using System.Linq;
using System.Reflection;
using System.Windows.Forms;
namespace EonaCat.HID.Analyzer
{
- partial class AboutBox : Form
+ internal partial class AboutBox : Form
{
public AboutBox()
{
@@ -105,4 +101,4 @@ namespace EonaCat.HID.Analyzer
}
}
}
-}
+}
\ No newline at end of file
diff --git a/Analyzer/AboutBox.resx b/Analyzer/AboutBox.resx
index 5c226be..9ee702d 100644
--- a/Analyzer/AboutBox.resx
+++ b/Analyzer/AboutBox.resx
@@ -120,1228 +120,1228 @@
- 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
+ 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
\ No newline at end of file
diff --git a/Analyzer/App.config b/Analyzer/App.config
index 4bfa005..d8ef5cf 100644
--- a/Analyzer/App.config
+++ b/Analyzer/App.config
@@ -1,6 +1,6 @@
-
-
+
+
-
+
\ No newline at end of file
diff --git a/Analyzer/EonaCat.HID.Analyzer.csproj b/Analyzer/EonaCat.HID.Analyzer.csproj
index bbea071..8bd9a63 100644
--- a/Analyzer/EonaCat.HID.Analyzer.csproj
+++ b/Analyzer/EonaCat.HID.Analyzer.csproj
@@ -7,8 +7,8 @@
{61994020-DB89-4621-BA4B-7347A2142CFF}
WinExe
Properties
- USB_HID_Analyzer
- USB HID Analyzer
+ EonaCat.HID
+ EonaCat HID Analyzer
v4.8
512
diff --git a/Analyzer/MainForm.cs b/Analyzer/MainForm.cs
index 6d1041f..849c00a 100644
--- a/Analyzer/MainForm.cs
+++ b/Analyzer/MainForm.cs
@@ -1,23 +1,21 @@
-using System;
+using EonaCat.HID.Helpers;
+using System;
using System.Collections.Generic;
-using System.Data;
-using System.Drawing;
-using System.Linq;
-using System.Text;
-using System.Windows.Forms;
-using System.Globalization;
using System.Diagnostics;
+using System.Drawing;
+using System.Globalization;
+using System.Linq;
using System.Reflection;
-using EonaCat.HID.Helpers;
+using System.Windows.Forms;
namespace EonaCat.HID.Analyzer
{
public partial class MainForm : Form
{
- const int WriteReportTimeout = 3000;
+ private const int WriteReportTimeout = 3000;
- Device _device;
- List _deviceList;
+ private Device _device;
+ private List _deviceList;
public MainForm()
{
@@ -65,39 +63,44 @@ namespace EonaCat.HID.Analyzer
rtbEventLog.SelectionLength = 0;
rtbEventLog.SelectionColor = currentColor;
rtbEventLog.AppendText(result);
- if (!rtbEventLog.Focused) rtbEventLog.ScrollToCaret();
+
+ if (!rtbEventLog.Focused)
+ {
+ rtbEventLog.ScrollToCaret();
+ }
}));
}
private void UpdateDeviceList()
{
- var count = 0;
dataGridView1.SelectionChanged -= DataGridView1_SelectionChanged;
dataGridView1.Rows.Clear();
- foreach (var device in _deviceList)
+
+ for (int i = 0; i < _deviceList.Count; i++)
{
- count++;
+ Device device = _deviceList[i];
+
var deviceName = "";
var deviceManufacturer = "";
var deviceSerialNumber = "";
+
var info = device.Info;
var capabilities = device.Capabilities;
+
deviceName = device.ReadProductName();
deviceManufacturer = device.ReadManufacturer();
deviceSerialNumber = device.ReadSerialNumber();
var row = new string[]
{
- count.ToString(),
- $"VID_{info.VendorId:X4} PID_{info.ProductId:X4} REV_{info.Version:X4}",
+ (i + 1).ToString(),
deviceName,
deviceManufacturer,
deviceSerialNumber,
capabilities.InputReportByteLength.ToString(),
capabilities.OutputReportByteLength.ToString(),
capabilities.FeatureReportByteLength.ToString(),
- string.Format("{0:X2}", capabilities.Usage),
- string.Format("{0:X4}", capabilities.UsagePage),
+ $"Vendor:{info.VendorId:X4} Product:{info.ProductId:X4} Revision:{info.Version:X4}",
device.DevicePath
};
dataGridView1.Rows.Add(row);
@@ -180,17 +183,26 @@ namespace EonaCat.HID.Analyzer
}
private void ToolStripButtonConnect_Click(object sender, EventArgs e)
+ {
+ ConnectToSelectedDevice();
+ }
+
+ private void ConnectToSelectedDevice()
{
try
{
_device = _deviceList[dataGridView1.SelectedRows[0].Index];
- if (_device == null) throw new Exception("Could not find Hid USB Device with specified VID PID");
+ if (_device == null)
+ {
+ throw new Exception("Could not find Hid USB Device with specified VID PID");
+ }
- // open as read write in parallel
+ // Open a device for reading and writing
_device.OpenDevice(DeviceMode.Overlapped, DeviceMode.Overlapped, ShareMode.ShareRead | ShareMode.ShareWrite);
_device.OnInserted += HidDevice_Inserted;
_device.OnRemoved += HidDevice_Removed;
_device.MonitorDeviceEvents = true;
+ AppendEventLog($"Connected to device {_device.ReadProductName()}", Color.Green);
}
catch (Exception ex)
{
@@ -332,9 +344,9 @@ namespace EonaCat.HID.Analyzer
{
try
{
- var str = string.Format("Inserted Hid Device --> VID {0:X4}, PID {0:X4}", _device.Info.VendorId, _device.Info.ProductId);
- AppendEventLog(str);
- //_device.ReadReport(_device_InputReportReceived);
+ var str = string.Format("Inserted Device --> VID {0:X4}, PID {0:X4}", _device.Info.VendorId, _device.Info.ProductId);
+ AppendEventLog(str, Color.Orange);
+ _device.ReadReport(Device_InputReportReceived);
}
catch (Exception ex)
{
@@ -359,7 +371,7 @@ namespace EonaCat.HID.Analyzer
{
try
{
- if (!_device.IsConnected || !_device.IsOpen) return;
+ if (!_device.IsConnected || !_device.IsOpen || report.Data == null) return;
var str = $"Rx Input Report [{report.Data.Length + 1}] <-- ID:{report.ReportId}, {ByteHelper.ByteArrayToHexString(report.Data)}";
AppendEventLog(str, Color.Blue);
_device.ReadReport(Device_InputReportReceived);
@@ -369,5 +381,10 @@ namespace EonaCat.HID.Analyzer
PopupException(ex.Message);
}
}
+
+ private void dataGridView1_DoubleClick(object sender, EventArgs e)
+ {
+ ConnectToSelectedDevice();
+ }
}
-}
+}
\ No newline at end of file
diff --git a/Analyzer/MainForm.resx b/Analyzer/MainForm.resx
index 6f9874d..e5e3c96 100644
--- a/Analyzer/MainForm.resx
+++ b/Analyzer/MainForm.resx
@@ -120,9 +120,6 @@
True
-
- True
-
True
@@ -141,10 +138,7 @@
True
-
- True
-
-
+
True
@@ -154,140 +148,68 @@
132, 17
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAERSURBVDhPrZDbSgJRGIXnpewd6jXsjSQvIrwoI0RQMChU
- 0iiDPCGiE3ZCRkvR8VzTeBhnyR5/ccaZNnPhB4t9sdf6Ln5hb8QeathNJFVFKF5C8DqL4ksDVHWGDf7j
- LHyPg6NjviSaFqlu5yQYR+KpupaIkrMknCxT3Y7v/NYYb0ITK1c3BarbWWhLQ7IR0cTKReyZ6lZ0XYei
- ztHpK4bAc+h1FgQijzSxMptrGIxVSO0xX3AaStFki7bUMVFmaMm/eJMGfIH/MkGzLep0AXn4h/r3CJV3
- mS9gn2bY4UY/UzQ7E9TqfeTFtnuB+XAfzSHKr11kSl/uBebDiZ89ZCst3OUkdwL28sIVsE83ock+EIQV
- 2Mz2wxeg6/UAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
- olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
- 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
- YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
- 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
- HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
- 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
- hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
- S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
- 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
- g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
- DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
- 8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
- 1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
- 4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy
- ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS
- rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV
- Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W
- r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv
- 2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA
- AElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIpSURBVDhPtZL/T1JRGMb5p1itrVZbbRpqZbawnBENV1I0
- jGlByTSyJTXJwq2oKZQb1KAv6JCYWSxvBrkkZUq4CeQEiRABFeLL072Xa0zRra31bO8v57zP5znnPYf1
- X+TxhWF6O7VtGYcnwbSWijKPOLzYrPSvLPwLS3huGUMlT7o9wGD9grVUBj+icdid03S9tDmgNxNwTgVQ
- J+rA8XNtWwM+uuZATMwxmQVRycuJFNyzIRitDlScugKzjSgFRGJJaIwEsrk8AsHIhnSL/Ssck37UNipQ
- I5DjtuYV7uksRYhr2kebhx2eP6nrycFIEh5fBA/1Nvru8q5+PDaOovK0rABwfwugWzcErfkzHhjsePL6
- E7q1VrTdNUDcrgGvSYlDZHN5XTNOnL8BVe8AJAoNDtZfLgDu9L1BPJmikzcrk81hlRwodZJwdBXziwnI
- OrVoaOkiT8C8hKLHBPO7CbywOaE1jeC+bhAd6meQdvZC1KoG/5IS3MZ2HObLUHZSggvkWq3wOvbWiAqA
- VpWeyStVfCUNf3AZ4zNhfHCFMEDMgye+hYr6FrDLzxQAUuVTpr0ocn74mchg5vsKRt1RcHp2Qv9+kZ78
- UcE17KkWFgHNN/uQzgBkGKLJPBZiecyGchjzrmFwPIF++xJUbDbUQzEacIArLpopSRSP4CUN1Obf1Abz
- uqob5KjiXwWH/GVl5HPt5zZh37GL2H1EiF1VZ7GDI6CNW5r/TSzWbwHYL0mKJ5czAAAAAElFTkSuQmCC
-
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIzSURBVDhPjZNNaBNBFMcHSknBKKkg9FKL7eIhSFtpISHG
- zk4CYS/x1rsnP25CDx7THpRsAoJfhQTai3rJRVTowYObGi/tbiTWilYDJdlNtkGT3gN2fW92tqapQv/w
- SOY/7/32vZld8j9pY2MBLRj0b0WjwxjCPpkKhAy8G7+4X7wgJSvhyK1K+MpX9OuyTHlCv9KbrYiq23cx
- 0kbjPHraxIS0Jkm+74ri+zx7dbROqWTJsa5F2XNjZmaQF3pKabtDGb3ZyBi2k9VtWdjHZFE6DRDbktkz
- YbmCwnlVb3Yzul1CQPtHfrnzZdHpVPNu6Nd3alu3+TkISNdi7BovRqmGvakazUe8k43WSLua044AKnec
- dmXhrUgnJmVPLBpb54t7H5vn4OkHaWMvzA3QIaB80w34j57YBgANA+R3PZE4S6DlEM6e2m75xb4LEIUe
- pBfwS1HOwBiONRe/TDLlvUkEqB9+nhb7fwE9kF7ALqUBBJiMTZFsxT6FI2AnYv8oYHvp2AhwgBEcoea9
- YNBBMWM0H/MFiAO8A9x54HQ+LXAAPHkEYsiUY8twiEWRTki2bCf5NW5Y07huV/NPDwEi0DNpXDZlVuLX
- OBdL8mJP8A7k4CptD/IvIYAfHmUWdiJsVznDGYQxVrCT++WWNLu6Pqo8XPNJEMHUKwlzavH4OBSnMRqM
- JXhhv+BbiOJvaPX9t9BK6cbk0uvkpcU3+/OFwgBPOKmiL0rDGMFUwT+VehkQdp8I+QMJYXp5Ef1ZOgAA
- AABJRU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEaSURBVDhPY6AKmFApJh7mrfvV1NT0PzE4zFvn67RicTGo
- dgaGiZUK9h5Ohv+/7uL8//8gO178dRfXf5DaKeUKdlDtEJAfo361KlUVqyYY/neA/X9Fsur/gjiNS1Bt
- CDCzXpIr0l/n04pWaayaQXhJk8z/cF+dLxNzhfig2lDBxDJ5CzdHw7/nFwhiaL60SPC/q4PhXwyno4Ou
- PIUyL2eD/683c8M1v93K/R8k1p6j0AZVhh+UJakeLohThxuQF6PxvzRB9TBUmjCYUi/KY25uCjcAxAaF
- EVSaMKivZ2ACxTfMABAbKkUcGFwGfNrB9d/SwoR0A0Ca9kwW/+/nZvC/LFH1CFSKeFCRpLo/xl/7Q2e+
- QjlUiBaAgQEASczleY2pHPIAAAAASUVORK5CYII=
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAI4SURBVDhPjZNPaNNQHMcfjNGBVTpB2GUOtyDYwzbZsKV2
+ fUkKJZd6292Tf27CDh6zHSxpCoJuDlrYLuqlF1FhBz20ox62NdU6JzotzDavzYpddy9ofL+Xl9l1CvvC
+ j+R93+/3ye/3kqD/KTcy4sv5/d7tcHgQgtunUxahvrejlw/zl4R4ORi68+Ha9S/g10QRs4ReaVvNULJo
+ 3YfQjPpF8HJjY8KaIHi+KYrn0/TMcA1jgYhyh2DpmTE11c8KXam5vQF9s1HXDctOFS2R2ydEMJ6kEIuI
+ 0lNuOaKFs4mNekfftAoAaH3PLLc/z9vtSsaJ4s3d6vZddg4c0iGSdIMVg5KGtaUZjcdOJ82hg0o6dwxQ
+ vmcflOfe8HRkYmmJYHmdLR68b1xIbJi/NWM/yAyqI0DpthP0Hjy+TQE4+APjX7VY7DyiLQdgdnWn6eX7
+ DoAXupBuQEtRztExbBKJXkV6aX8cAMl3P8/y/b+ALkg3YA9jHwBMSZpAqbJ1BkaATvj+ccDOwokR6AGG
+ YISq+4HRDvK60VhkCyoGcA9w96Hd/jjHAPTJQzQGTFFeJhE5z9MRSpWsuPMaySSsW5XMkyMAD/BMHBVN
+ USqw1xiR46zYlV600gmDWC7kXwIAO7yZCIFOuO0obdj9dIwV6CRRagrTq+vDyqM1j0DDr74UIKcajY7S
+ T1mDqEtSjBX2iv4LYbgGVvNfAyuFW+MLr+JX5l8fzmazfSzhtAo/LwxC+NWsd0J94eN2jxD6A3Zieio6
+ Qs3XAAAAAElFTkSuQmCC
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIwSURBVDhPY5BuvNMjXXPjhWTpxbtiuSfeiOWceC2Re8qe
- AQrEiy8oShScuSGedXw2VAgVSDfcPSBdde2/ZNml/+J5J8FYJPtEAVSaASjeDJITzTj8HSqECggZIFF2
- uQQkJ5Z++DNUCBUQMkC0/gqPdMaWU6K5J2KhQqiAkAEgYOTsHW/i6uNr4uytZOjoJc9QX88ElWJgkGm6
- t1+6GtUA8ZzjeVBpODBy9XUCGpAGwsbO3lOMjY1ZwRJSjXecpWtvLpXL2bFcPPfYWrHck6vEM46KgeTm
- 3/9vUH/lu0r9pe9KyNg1ubTQu3GaO9gAGDB19U0wd/dXgHIZFt3/ebj3xq//jVcwcd2Fr//TT337m3zq
- RyVUOaYBKx79fp85ddV/n8Ts/3bhySjYwMnnf9KqU//jTvzYD1UOCihfHyM3b2MoF2xAclP/f6fAiP/J
+ YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIzSURBVDhPY5BuvNMjXXPjhWTJubsiuUffCOccfS2Re8qe
+ AQrEiy8oihWcuSGeeXw2VAgVSNXfOSBdde2/ZNml/+J5J8FYJPtEAVSaASjeDJITyjj8HSqECggZIFF2
+ uQQkJ5Zy+DNUCBUQMkC0/gqPVPqWU6K5J2KhQqiAkAEgYOTsHW/i6uNr4uytZOjoJc9QX88ElWJgkGm8
+ u1+6GtUA8ZzjeVBpODBy9XUCGpAGwsbO3lOMjY1ZwRJSjXecpWpvLJXL2bFcPPfoWrHck6vEM46KgeTm
+ 3/9vUH/lu0r9pe9KyNg1ubTQu3GaO9gAGDB19U0wd/dXgHIZFt3/cbj3xq//jVcwcd2Fr/9Tjn/+m3zq
+ RyVUOaYByx/9eJ85ddV/n8Ts/3bhySjYwMnnf9KqU/9jT/zYD1UOCihfHyM3b2MoF2xAclP/f6fAiP/J
1r7/5xv5/V9m4Pffy8Hnv5aF3f+Q3mX/4098PwBVzsBg5uHBBwyc7tDQUGYQH9mADjO//9+VAv5/VQ74
- H2vri90AEDBx9FM3dvFpM3Hxrurff/UTzABTF5//iwz9/leZ+/03AbJxGoAMQC5IaZv23zU4GqwJGWua
- 2f6PmrmNsAENl378L9t9+3/5wccIfODR/8JtN/6XXvhJwICHv982Xv3132LSvf+xW97+d5z18H/o6pf/
- vRc/A+OS8z9BsbAHqhwTzL/zs2/S7V9Pmq78uguMexTccPnXvdTTP54kn/7hBQD2VYjPDPoywwAAAABJ
- RU5ErkJggg==
+ H2vri90AEDBx9FM3dvFpM3Hxrurfc+kTzABTF5//iwz9/leZ+/03AbJxGoAMQC5IaZv23zU4GqwJGWua
+ 2f6PmrmNsAENl378L9t9+3/5wccIfODR/8JtN/6XXviJ34Cl9368bbz667/FpHv/Y7e8/e846+H/0NUv
+ /3svfgbGJed//o89/mMPVDkmmH/nZ9+k27+eNF35dRcY9yi4/vKve8mnfzxJPv3DCwAg0ohxfV2WKwAA
+ AABJRU5ErkJggg==
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
- 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
+ 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
-
+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
- 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
+ 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
+ DhWiBWBgAAClAOU+yA6HfwAAAABJRU5ErkJggg==
17, 17
-
- 237, 17
-
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@@ -299,70 +221,8 @@
2Mz2wxeg6/UAAAAASUVORK5CYII=
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAJHSURBVDhPxZBdSNNhFMb/F110ZZEVhVBgeeHNICiiuggp
- olAUyyxI0oSaH1QYC3N+tKnp5ubm1JUua5uuqdNKMwr7kApFItTUkWZqVhSVYmao5Nevvy7UoYR3HXh4
- 4XCe33nOKyy3lAY7l9RWMo0O/raWXxEyo5spVYTNvOGyfIRPfW+ptOkXqaPl6T83hcRmExSdgzAz3NVm
- YWyoYla/B+1M9JtxWLPpaH22JORIjI6gKAMB0jyEimIdo4OlbuaprwVMOOMovammpDADc34qppwUrmnl
- 5Kni3aFlFg2j3y1z5mnRTJccnNIltQhwq0jFry+mOXNtpWZWDx1Z1NhV3C3JwGFOw25SYjVe5oYhiUKd
- HKMmwQUrMWUw/CF3NnZvvYKqUh1TvUroS3fXe7HXkwidMngTS2t5KLbregSzMY2f3Wr4qKW6LJvGR1rX
- 0MLor8OhKYTJBn/GHvvxrliCTBrsOqXIoOBHh5K+hmSq7FqmexTQHuUytkaKxuNMNgYyVneA4Qd7GKjc
- hjLaRzxH7gIU6JIZaEvgtk1D8wsxSWecCDgNzWFMvwxm/PkhRmr3Mli1nW9lvjRdWc0Jf+/5jzRmyWmv
- S+GOLQu6U6BFjPvqKOP1AYw88WOoZif9DgmfLVtxaj1RSLdwNvrkPCA3M54KqxrnvRia9MKcGrUrqFOt
- 5H7qKsqT1mGO9+Lqhc2ELdw+U/r0i+gVZ8hMiCDx3DHORwZyKnQ/hw/uYt9uCTskPvh6e7Fp41rWr/Fg
- g6eHO+A/lyD8ARfG3mk9fv1YAAAAAElFTkSuQmCC
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
- YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIySURBVDhPrZLfS5NRGMfff6H7boIuuq2pMZyL1eAt11CW
- DcOKsB9vpFmaLtNExco0av6CbIVLJ61Wk3BSkT/AFCkRZSpZmrmiJQ41xSaCwdfznL15XEUX0Reem5f3
- 8znnec4j/Zc8fxYGla91CS3eRTx0z6OpMYS7jmnU1X6B/VYA18snUVoyjsKCt8jLHcH5c36ouCQR2NUJ
- 1Nas4G9ZXlmFKbULh1Kf8lJxSfI+WeCCyopv6q+/h+DQ/DJ2WV5Ao1FgPegRAveDOS4oLfmq/h6dn/DH
- 4AJizD4UXJrCAUuzEDgbZrjgou2DiohshIcnQtgme5GTPYbkJKcQ1N8OckHW2REVi+RXuM8fxGaDG4oy
- ALPZIQQ11Z+5QDk1oKJ/hjv7P2FTfCMOH3mFxMQ6IbhROYWOdrCnBI4dfwPr0V4+bRoY9UzXppMjcDdS
- rC8hy3YhuFI2gTYf2A4Aza4f7N2/o/zaLB8qDYx6zszwr8P7k1thNFYIweXCMXgeAfedq2xxwjClZUeV
- Jd2GtDNFETiJwfs8MBjKhMCWN8pgoLoqzE8miH1GjE7G4PsZjE7OQsm9ij2mFg7rdrug1xcJAa2l4w7W
- r00Cgk/n38S7wBwC04u4UGxHrMHF4CbEJtyDLj5fCDIzhljfSxzeavRgyw4Zj9t64GvvQ0d3P3pfD2Kv
- 2QqNvgFxDN6urYdWmyMElJMnevh60obRktA701PRtGlg1DOdSkXwzrisaMG/RZLWAE60OMW5fNhvAAAA
- AElFTkSuQmCC
-
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
-
-
- True
+
+ 237, 17
diff --git a/Analyzer/Program.cs b/Analyzer/Program.cs
index c9aeaad..a65eab1 100644
--- a/Analyzer/Program.cs
+++ b/Analyzer/Program.cs
@@ -1,22 +1,19 @@
using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Threading.Tasks;
using System.Windows.Forms;
namespace EonaCat.HID.Analyzer
{
- static class Program
+ internal static class Program
{
///
/// The main entry point for the application.
///
[STAThread]
- static void Main()
+ private static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
-}
+}
\ No newline at end of file
diff --git a/Analyzer/Properties/AssemblyInfo.cs b/Analyzer/Properties/AssemblyInfo.cs
index 79ccbfe..3f03776 100644
--- a/Analyzer/Properties/AssemblyInfo.cs
+++ b/Analyzer/Properties/AssemblyInfo.cs
@@ -1,12 +1,11 @@
using System.Reflection;
-using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-// General Information about an assembly is controlled through the following
+// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("USB HID Analyzer")]
-[assembly: AssemblyDescription("A Windows utility tool for analyzing USB HID class devices")]
+[assembly: AssemblyDescription("HID Devices")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("EonaCat (Jeroen Saey)")]
[assembly: AssemblyProduct("USB HID Analyzer")]
@@ -14,23 +13,23 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTrademark("EonaCat (Jeroen Saey)")]
[assembly: AssemblyCulture("")]
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("3634ad68-775e-40fb-9ef9-c064ad87a0f7")]
+[assembly: Guid("185412ac-91cc-4e99-9a8e-dd2af6b817ba")]
// Version information for an assembly consists of the following four values:
//
// Major Version
-// Minor Version
+// Minor Version
// Build Number
// Revision
//
-// You can specify all the values or you can default the Build and Revision Numbers
+// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/Analyzer/Properties/Resources.Designer.cs b/Analyzer/Properties/Resources.Designer.cs
index 572fb89..12ed5d7 100644
--- a/Analyzer/Properties/Resources.Designer.cs
+++ b/Analyzer/Properties/Resources.Designer.cs
@@ -8,7 +8,7 @@
//
//------------------------------------------------------------------------------
-namespace USB_HID_Analyzer.Properties {
+namespace EonaCat.HID.Properties {
using System;
@@ -39,7 +39,7 @@ namespace USB_HID_Analyzer.Properties {
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
- global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("USB_HID_Analyzer.Properties.Resources", typeof(Resources).Assembly);
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("EonaCat.HID.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
diff --git a/Analyzer/Properties/Settings.Designer.cs b/Analyzer/Properties/Settings.Designer.cs
index 6904b34..5b165bc 100644
--- a/Analyzer/Properties/Settings.Designer.cs
+++ b/Analyzer/Properties/Settings.Designer.cs
@@ -8,11 +8,11 @@
//
//------------------------------------------------------------------------------
-namespace USB_HID_Analyzer.Properties {
+namespace EonaCat.HID.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.9.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
diff --git a/Analyzer/mainForm.Designer.cs b/Analyzer/mainForm.Designer.cs
index b354f20..153c442 100644
--- a/Analyzer/mainForm.Designer.cs
+++ b/Analyzer/mainForm.Designer.cs
@@ -31,26 +31,26 @@
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.textBoxWriteData = new System.Windows.Forms.TextBox();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
+ this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
- this.newToolStripButton = new System.Windows.Forms.ToolStripButton();
- this.openToolStripButton = new System.Windows.Forms.ToolStripButton();
- this.saveToolStripButton = new System.Windows.Forms.ToolStripButton();
- this.printToolStripButton = new System.Windows.Forms.ToolStripButton();
this.toolStripSeparator = new System.Windows.Forms.ToolStripSeparator();
this.toolStripButtonReload = new System.Windows.Forms.ToolStripButton();
- this.toolStripLabel1 = new System.Windows.Forms.ToolStripLabel();
- this.toolStripTextBoxVidPid = new System.Windows.Forms.ToolStripTextBox();
- this.toolStripButtonFilter = new System.Windows.Forms.ToolStripButton();
this.toolStripButtonOpen = new System.Windows.Forms.ToolStripButton();
this.toolStripButtonClear = new System.Windows.Forms.ToolStripButton();
- this.aboutToolStripButton = new System.Windows.Forms.ToolStripButton();
+ this.toolStripButtonFilter = new System.Windows.Forms.ToolStripButton();
+ this.toolStripTextBoxVidPid = new System.Windows.Forms.ToolStripTextBox();
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.newToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.openToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.saveToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
- this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -67,17 +67,6 @@
this.rtbEventLog = new System.Windows.Forms.RichTextBox();
this.statusStrip1 = new System.Windows.Forms.StatusStrip();
this.toolStripStatusLabel1 = new System.Windows.Forms.ToolStripStatusLabel();
- this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column9 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column10 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column11 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column7 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column5 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column6 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
- this.Column8 = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.tableLayoutPanel1.SuspendLayout();
this.toolStrip1.SuspendLayout();
@@ -104,15 +93,13 @@
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
- this.Column2,
this.Column9,
this.Column10,
this.Column11,
this.Column7,
this.Column4,
this.Column5,
- this.Column6,
- this.Column3,
+ this.Column2,
this.Column8});
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.dataGridView1.Location = new System.Drawing.Point(3, 16);
@@ -120,9 +107,73 @@
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.ReadOnly = true;
this.dataGridView1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
- this.dataGridView1.Size = new System.Drawing.Size(732, 214);
+ this.dataGridView1.Size = new System.Drawing.Size(822, 286);
this.dataGridView1.TabIndex = 0;
this.dataGridView1.SelectionChanged += new System.EventHandler(this.DataGridView1_SelectionChanged);
+ this.dataGridView1.DoubleClick += new System.EventHandler(this.dataGridView1_DoubleClick);
+ //
+ // Column1
+ //
+ this.Column1.HeaderText = "No";
+ this.Column1.Name = "Column1";
+ this.Column1.ReadOnly = true;
+ this.Column1.Width = 87;
+ //
+ // Column9
+ //
+ this.Column9.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.Column9.HeaderText = "Name";
+ this.Column9.Name = "Column9";
+ this.Column9.ReadOnly = true;
+ //
+ // Column10
+ //
+ this.Column10.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.Column10.HeaderText = "Manufacturer";
+ this.Column10.Name = "Column10";
+ this.Column10.ReadOnly = true;
+ //
+ // Column11
+ //
+ this.Column11.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.Column11.HeaderText = "SerialNo";
+ this.Column11.Name = "Column11";
+ this.Column11.ReadOnly = true;
+ //
+ // Column7
+ //
+ this.Column7.HeaderText = "InputReport";
+ this.Column7.Name = "Column7";
+ this.Column7.ReadOnly = true;
+ this.Column7.Width = 86;
+ //
+ // Column4
+ //
+ this.Column4.HeaderText = "OutputReport";
+ this.Column4.Name = "Column4";
+ this.Column4.ReadOnly = true;
+ this.Column4.Width = 87;
+ //
+ // Column5
+ //
+ this.Column5.HeaderText = "FeatureReport";
+ this.Column5.Name = "Column5";
+ this.Column5.ReadOnly = true;
+ this.Column5.Width = 86;
+ //
+ // Column2
+ //
+ this.Column2.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.Column2.HeaderText = "Info";
+ this.Column2.Name = "Column2";
+ this.Column2.ReadOnly = true;
+ //
+ // Column8
+ //
+ this.Column8.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.Fill;
+ this.Column8.HeaderText = "DevicePath";
+ this.Column8.Name = "Column8";
+ this.Column8.ReadOnly = true;
//
// tableLayoutPanel1
//
@@ -144,66 +195,24 @@
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 48.18182F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51.81818F));
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 25F));
- this.tableLayoutPanel1.Size = new System.Drawing.Size(744, 661);
+ this.tableLayoutPanel1.Size = new System.Drawing.Size(834, 811);
this.tableLayoutPanel1.TabIndex = 18;
//
// toolStrip1
//
this.toolStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
- this.newToolStripButton,
- this.openToolStripButton,
- this.saveToolStripButton,
- this.printToolStripButton,
this.toolStripSeparator,
this.toolStripButtonReload,
- this.toolStripLabel1,
- this.toolStripTextBoxVidPid,
- this.toolStripButtonFilter,
this.toolStripButtonOpen,
this.toolStripButtonClear,
- this.aboutToolStripButton});
+ this.toolStripButtonFilter,
+ this.toolStripTextBoxVidPid});
this.toolStrip1.Location = new System.Drawing.Point(0, 25);
this.toolStrip1.Name = "toolStrip1";
- this.toolStrip1.Size = new System.Drawing.Size(744, 25);
+ this.toolStrip1.Size = new System.Drawing.Size(834, 25);
this.toolStrip1.TabIndex = 1;
this.toolStrip1.Text = "toolStrip1";
//
- // newToolStripButton
- //
- this.newToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
- this.newToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("newToolStripButton.Image")));
- this.newToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.newToolStripButton.Name = "newToolStripButton";
- this.newToolStripButton.Size = new System.Drawing.Size(23, 22);
- this.newToolStripButton.Text = "&New";
- //
- // openToolStripButton
- //
- this.openToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
- this.openToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripButton.Image")));
- this.openToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.openToolStripButton.Name = "openToolStripButton";
- this.openToolStripButton.Size = new System.Drawing.Size(23, 22);
- this.openToolStripButton.Text = "&Open";
- //
- // saveToolStripButton
- //
- this.saveToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
- this.saveToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripButton.Image")));
- this.saveToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.saveToolStripButton.Name = "saveToolStripButton";
- this.saveToolStripButton.Size = new System.Drawing.Size(23, 22);
- this.saveToolStripButton.Text = "&Save";
- //
- // printToolStripButton
- //
- this.printToolStripButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
- this.printToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("printToolStripButton.Image")));
- this.printToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.printToolStripButton.Name = "printToolStripButton";
- this.printToolStripButton.Size = new System.Drawing.Size(23, 22);
- this.printToolStripButton.Text = "&Print";
- //
// toolStripSeparator
//
this.toolStripSeparator.Name = "toolStripSeparator";
@@ -218,30 +227,6 @@
this.toolStripButtonReload.Text = "Reload";
this.toolStripButtonReload.Click += new System.EventHandler(this.ToolStripButtonReload_Click);
//
- // toolStripLabel1
- //
- this.toolStripLabel1.Name = "toolStripLabel1";
- this.toolStripLabel1.Size = new System.Drawing.Size(33, 22);
- this.toolStripLabel1.Text = "Filter";
- //
- // toolStripTextBoxVidPid
- //
- this.toolStripTextBoxVidPid.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
- this.toolStripTextBoxVidPid.Font = new System.Drawing.Font("Segoe UI", 9F);
- this.toolStripTextBoxVidPid.Name = "toolStripTextBoxVidPid";
- this.toolStripTextBoxVidPid.Size = new System.Drawing.Size(100, 25);
- this.toolStripTextBoxVidPid.Text = "0483:0400";
- this.toolStripTextBoxVidPid.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
- //
- // toolStripButtonFilter
- //
- this.toolStripButtonFilter.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonFilter.Image")));
- this.toolStripButtonFilter.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.toolStripButtonFilter.Name = "toolStripButtonFilter";
- this.toolStripButtonFilter.Size = new System.Drawing.Size(53, 22);
- this.toolStripButtonFilter.Text = "Filter";
- this.toolStripButtonFilter.Click += new System.EventHandler(this.ToolStripButtonFilter_Click);
- //
// toolStripButtonOpen
//
this.toolStripButtonOpen.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonOpen.Image")));
@@ -260,15 +245,25 @@
this.toolStripButtonClear.Text = "Clear";
this.toolStripButtonClear.Click += new System.EventHandler(this.ToolStripButtonClear_Click);
//
- // aboutToolStripButton
+ // toolStripButtonFilter
//
- this.aboutToolStripButton.Image = ((System.Drawing.Image)(resources.GetObject("aboutToolStripButton.Image")));
- this.aboutToolStripButton.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.aboutToolStripButton.Name = "aboutToolStripButton";
- this.aboutToolStripButton.Size = new System.Drawing.Size(60, 22);
- this.aboutToolStripButton.Text = "&About";
- this.aboutToolStripButton.ToolTipText = "About";
- this.aboutToolStripButton.Click += new System.EventHandler(this.HelpToolStripButton_Click);
+ this.toolStripButtonFilter.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.toolStripButtonFilter.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButtonFilter.Image")));
+ this.toolStripButtonFilter.ImageTransparentColor = System.Drawing.Color.Magenta;
+ this.toolStripButtonFilter.Name = "toolStripButtonFilter";
+ this.toolStripButtonFilter.Size = new System.Drawing.Size(53, 22);
+ this.toolStripButtonFilter.Text = "Filter";
+ this.toolStripButtonFilter.Click += new System.EventHandler(this.ToolStripButtonFilter_Click);
+ //
+ // toolStripTextBoxVidPid
+ //
+ this.toolStripTextBoxVidPid.Alignment = System.Windows.Forms.ToolStripItemAlignment.Right;
+ this.toolStripTextBoxVidPid.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.toolStripTextBoxVidPid.Font = new System.Drawing.Font("Segoe UI", 9F);
+ this.toolStripTextBoxVidPid.Name = "toolStripTextBoxVidPid";
+ this.toolStripTextBoxVidPid.Size = new System.Drawing.Size(100, 25);
+ this.toolStripTextBoxVidPid.Text = "0483:0400";
+ this.toolStripTextBoxVidPid.TextBoxTextAlign = System.Windows.Forms.HorizontalAlignment.Center;
//
// menuStrip1
//
@@ -277,7 +272,7 @@
this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
- this.menuStrip1.Size = new System.Drawing.Size(744, 24);
+ this.menuStrip1.Size = new System.Drawing.Size(834, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";
//
@@ -285,9 +280,6 @@
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.newToolStripMenuItem,
- this.openToolStripMenuItem,
- this.saveToolStripMenuItem,
- this.toolStripSeparator2,
this.exitToolStripMenuItem});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
@@ -299,37 +291,14 @@
this.newToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.N)));
- this.newToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
+ this.newToolStripMenuItem.Size = new System.Drawing.Size(141, 22);
this.newToolStripMenuItem.Text = "&New";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewToolStripMenuItem_Click);
//
- // openToolStripMenuItem
- //
- this.openToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("openToolStripMenuItem.Image")));
- this.openToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.openToolStripMenuItem.Name = "openToolStripMenuItem";
- this.openToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.O)));
- this.openToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
- this.openToolStripMenuItem.Text = "&Open";
- //
- // saveToolStripMenuItem
- //
- this.saveToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("saveToolStripMenuItem.Image")));
- this.saveToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
- this.saveToolStripMenuItem.Name = "saveToolStripMenuItem";
- this.saveToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));
- this.saveToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
- this.saveToolStripMenuItem.Text = "&Save";
- //
- // toolStripSeparator2
- //
- this.toolStripSeparator2.Name = "toolStripSeparator2";
- this.toolStripSeparator2.Size = new System.Drawing.Size(143, 6);
- //
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
- this.exitToolStripMenuItem.Size = new System.Drawing.Size(146, 22);
+ this.exitToolStripMenuItem.Size = new System.Drawing.Size(141, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.ExitToolStripMenuItem_Click);
//
@@ -361,10 +330,10 @@
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox1.Location = new System.Drawing.Point(3, 53);
this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(738, 83);
+ this.groupBox1.Size = new System.Drawing.Size(828, 83);
this.groupBox1.TabIndex = 2;
this.groupBox1.TabStop = false;
- this.groupBox1.Text = "Read/Write Operation";
+ this.groupBox1.Text = "Read/Write Operations";
//
// comboBoxReportId
//
@@ -375,7 +344,22 @@
"2",
"3",
"4",
- "5"});
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ "10",
+ "11",
+ "12",
+ "13",
+ "14",
+ "15",
+ "16",
+ "17",
+ "18",
+ "19",
+ "20"});
this.comboBoxReportId.Location = new System.Drawing.Point(104, 19);
this.comboBoxReportId.Name = "comboBoxReportId";
this.comboBoxReportId.Size = new System.Drawing.Size(81, 21);
@@ -394,11 +378,11 @@
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(10, 50);
+ this.label1.Location = new System.Drawing.Point(40, 48);
this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(84, 13);
+ this.label1.Size = new System.Drawing.Size(58, 13);
this.label1.TabIndex = 7;
- this.label1.Text = "Write Data 0x [ ]";
+ this.label1.Text = "Write Data";
//
// buttonWriteFeature
//
@@ -446,21 +430,21 @@
this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
this.groupBox2.Location = new System.Drawing.Point(3, 142);
this.groupBox2.Name = "groupBox2";
- this.groupBox2.Size = new System.Drawing.Size(738, 233);
+ this.groupBox2.Size = new System.Drawing.Size(828, 305);
this.groupBox2.TabIndex = 3;
this.groupBox2.TabStop = false;
- this.groupBox2.Text = "Device List";
+ this.groupBox2.Text = "Devices";
//
// groupBox3
//
this.groupBox3.Controls.Add(this.rtbEventLog);
this.groupBox3.Dock = System.Windows.Forms.DockStyle.Fill;
- this.groupBox3.Location = new System.Drawing.Point(3, 381);
+ this.groupBox3.Location = new System.Drawing.Point(3, 453);
this.groupBox3.Name = "groupBox3";
- this.groupBox3.Size = new System.Drawing.Size(738, 251);
+ this.groupBox3.Size = new System.Drawing.Size(828, 329);
this.groupBox3.TabIndex = 4;
this.groupBox3.TabStop = false;
- this.groupBox3.Text = "Event Log";
+ this.groupBox3.Text = "Log";
//
// rtbEventLog
//
@@ -468,7 +452,7 @@
this.rtbEventLog.Location = new System.Drawing.Point(3, 16);
this.rtbEventLog.Name = "rtbEventLog";
this.rtbEventLog.ReadOnly = true;
- this.rtbEventLog.Size = new System.Drawing.Size(732, 232);
+ this.rtbEventLog.Size = new System.Drawing.Size(822, 310);
this.rtbEventLog.TabIndex = 0;
this.rtbEventLog.Text = "";
//
@@ -476,9 +460,9 @@
//
this.statusStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripStatusLabel1});
- this.statusStrip1.Location = new System.Drawing.Point(0, 639);
+ this.statusStrip1.Location = new System.Drawing.Point(0, 789);
this.statusStrip1.Name = "statusStrip1";
- this.statusStrip1.Size = new System.Drawing.Size(744, 22);
+ this.statusStrip1.Size = new System.Drawing.Size(834, 22);
this.statusStrip1.TabIndex = 5;
this.statusStrip1.Text = "statusStrip1";
//
@@ -488,88 +472,11 @@
this.toolStripStatusLabel1.Size = new System.Drawing.Size(118, 17);
this.toolStripStatusLabel1.Text = "toolStripStatusLabel1";
//
- // Column1
- //
- this.Column1.HeaderText = "No";
- this.Column1.Name = "Column1";
- this.Column1.ReadOnly = true;
- this.Column1.Width = 30;
- //
- // Column2
- //
- this.Column2.HeaderText = "Info";
- this.Column2.Name = "Column2";
- this.Column2.ReadOnly = true;
- this.Column2.Width = 180;
- //
- // Column9
- //
- this.Column9.HeaderText = "Name";
- this.Column9.Name = "Column9";
- this.Column9.ReadOnly = true;
- this.Column9.Width = 160;
- //
- // Column10
- //
- this.Column10.HeaderText = "Manufacturer";
- this.Column10.Name = "Column10";
- this.Column10.ReadOnly = true;
- this.Column10.Width = 110;
- //
- // Column11
- //
- this.Column11.HeaderText = "SerialNo";
- this.Column11.Name = "Column11";
- this.Column11.ReadOnly = true;
- this.Column11.Width = 85;
- //
- // Column7
- //
- this.Column7.HeaderText = "InputReport";
- this.Column7.Name = "Column7";
- this.Column7.ReadOnly = true;
- this.Column7.Width = 40;
- //
- // Column4
- //
- this.Column4.HeaderText = "OutputReport";
- this.Column4.Name = "Column4";
- this.Column4.ReadOnly = true;
- this.Column4.Width = 40;
- //
- // Column5
- //
- this.Column5.HeaderText = "FeatureReport";
- this.Column5.Name = "Column5";
- this.Column5.ReadOnly = true;
- this.Column5.Width = 40;
- //
- // Column6
- //
- this.Column6.HeaderText = "Usage";
- this.Column6.Name = "Column6";
- this.Column6.ReadOnly = true;
- this.Column6.Width = 50;
- //
- // Column3
- //
- this.Column3.HeaderText = "UsagePage";
- this.Column3.Name = "Column3";
- this.Column3.ReadOnly = true;
- this.Column3.Width = 55;
- //
- // Column8
- //
- this.Column8.HeaderText = "DevicePath";
- this.Column8.Name = "Column8";
- this.Column8.ReadOnly = true;
- this.Column8.Width = 550;
- //
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(744, 661);
+ this.ClientSize = new System.Drawing.Size(834, 811);
this.Controls.Add(this.tableLayoutPanel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1;
@@ -602,17 +509,10 @@
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
- private System.Windows.Forms.ToolStripMenuItem openToolStripMenuItem;
- private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
- private System.Windows.Forms.ToolStripMenuItem saveToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.ToolStrip toolStrip1;
- private System.Windows.Forms.ToolStripLabel toolStripLabel1;
- private System.Windows.Forms.ToolStripTextBox toolStripTextBoxVidPid;
- private System.Windows.Forms.ToolStripButton toolStripButtonFilter;
- private System.Windows.Forms.ToolStripButton aboutToolStripButton;
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.GroupBox groupBox3;
@@ -621,10 +521,6 @@
private System.Windows.Forms.RichTextBox rtbEventLog;
private System.Windows.Forms.ToolStripButton toolStripButtonClear;
private System.Windows.Forms.ToolStripButton toolStripButtonOpen;
- private System.Windows.Forms.ToolStripButton newToolStripButton;
- private System.Windows.Forms.ToolStripButton openToolStripButton;
- private System.Windows.Forms.ToolStripButton saveToolStripButton;
- private System.Windows.Forms.ToolStripButton printToolStripButton;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator;
private System.Windows.Forms.Button buttonWriteFeature;
private System.Windows.Forms.Button buttonReadFeature;
@@ -634,16 +530,16 @@
private System.Windows.Forms.Label label2;
private System.Windows.Forms.ComboBox comboBoxReportId;
private System.Windows.Forms.ToolStripButton toolStripButtonReload;
+ private System.Windows.Forms.ToolStripTextBox toolStripTextBoxVidPid;
+ private System.Windows.Forms.ToolStripButton toolStripButtonFilter;
private System.Windows.Forms.DataGridViewTextBoxColumn Column1;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column9;
private System.Windows.Forms.DataGridViewTextBoxColumn Column10;
private System.Windows.Forms.DataGridViewTextBoxColumn Column11;
private System.Windows.Forms.DataGridViewTextBoxColumn Column7;
private System.Windows.Forms.DataGridViewTextBoxColumn Column4;
private System.Windows.Forms.DataGridViewTextBoxColumn Column5;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column6;
- private System.Windows.Forms.DataGridViewTextBoxColumn Column3;
+ private System.Windows.Forms.DataGridViewTextBoxColumn Column2;
private System.Windows.Forms.DataGridViewTextBoxColumn Column8;
}
}
diff --git a/EonaCat.HID/Attributes.cs b/EonaCat.HID/Attributes.cs
index ade7de0..4f8301b 100644
--- a/EonaCat.HID/Attributes.cs
+++ b/EonaCat.HID/Attributes.cs
@@ -21,4 +21,4 @@
public string VendorIdHex { get; set; }
public string ProductIdHex { get; set; }
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/Capabilities.cs b/EonaCat.HID/Capabilities.cs
index 04a2b85..00ef07f 100644
--- a/EonaCat.HID/Capabilities.cs
+++ b/EonaCat.HID/Capabilities.cs
@@ -41,4 +41,4 @@
public short NumberFeatureValueCaps { get; private set; }
public short NumberFeatureDataIndices { get; private set; }
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/Device.cs b/EonaCat.HID/Device.cs
index 7c16193..793594e 100644
--- a/EonaCat.HID/Device.cs
+++ b/EonaCat.HID/Device.cs
@@ -11,24 +11,25 @@ namespace EonaCat.HID
public class Device : IDevice
{
public event InsertedEventHandler OnInserted;
+
public event RemovedEventHandler OnRemoved;
- private const int _byteSize = 254;
+ private const int BUFFER_SIZE = 254;
private readonly string _description;
private readonly string _path;
private readonly Attributes _attributes;
private readonly Capabilities _capabilities;
- private DeviceMode _readMode = DeviceMode.NonOverlapped;
- private DeviceMode _writeMode = DeviceMode.NonOverlapped;
- private ShareMode _shareMode = ShareMode.ShareRead | ShareMode.ShareWrite;
-
private readonly DeviceEventMonitor _deviceEventMonitor;
private bool _monitorDeviceEvents;
+
protected delegate DeviceData ReadDelegate(int timeout);
+
protected delegate Report ReadReportDelegate(int timeout);
+
private delegate bool WriteDelegate(byte[] data, int timeout);
+
private delegate bool WriteReportDelegate(Report report, int timeout);
internal Device(string devicePath, string description = null)
@@ -42,10 +43,11 @@ namespace EonaCat.HID
try
{
+ _deviceModeHelper = new DeviceModeHelper();
+
var handle = OpenDeviceIO(_path, NativeMethods.ACCESS_NONE);
_attributes = GetDeviceAttributes(handle);
_capabilities = GetDeviceCapabilities(handle);
-
CloseDeviceIO(handle);
}
catch (Exception exception)
@@ -54,21 +56,24 @@ namespace EonaCat.HID
}
}
- public IntPtr ReadHandle { get; private set; }
- public IntPtr WriteHandle { get; private set; }
public bool IsOpen { get; private set; }
- public bool IsConnected { get { return Devices.IsConnected(_path); } }
- public string Description { get { return _description; } }
- public Capabilities Capabilities { get { return _capabilities; } }
- public Attributes Info { get { return _attributes; } }
- public string DevicePath { get { return _path; } }
+ public bool IsConnected
+ { get { return Devices.IsConnected(_path); } }
+ public string Description
+ { get { return _description; } }
+ public Capabilities Capabilities
+ { get { return _capabilities; } }
+ public Attributes Info
+ { get { return _attributes; } }
+ public string DevicePath
+ { get { return _path; } }
public bool MonitorDeviceEvents
{
get { return _monitorDeviceEvents; }
set
{
- if (value & _monitorDeviceEvents == false)
+ if (value & !_monitorDeviceEvents)
{
_deviceEventMonitor.Init();
}
@@ -77,6 +82,8 @@ namespace EonaCat.HID
}
}
+ private DeviceModeHelper _deviceModeHelper { get; }
+
public override string ToString()
{
return $"VendorID={_attributes.VendorIdHex}, ProductID={_attributes.ProductIdHex}, Version={_attributes.Version}, DevicePath={_path}";
@@ -94,14 +101,14 @@ namespace EonaCat.HID
return;
}
- _readMode = readMode;
- _writeMode = writeMode;
- _shareMode = shareMode;
+ _deviceModeHelper.ReadMode = readMode;
+ _deviceModeHelper.WriteMode = writeMode;
+ _deviceModeHelper.ShareMode = shareMode;
try
{
- ReadHandle = OpenDeviceIO(_path, readMode, NativeMethods.GENERIC_READ, shareMode);
- WriteHandle = OpenDeviceIO(_path, writeMode, NativeMethods.GENERIC_WRITE, shareMode);
+ _deviceModeHelper.ReadHandle = OpenDeviceIO(_path, readMode, NativeMethods.GENERIC_READ, shareMode);
+ _deviceModeHelper.WriteHandle = OpenDeviceIO(_path, writeMode, NativeMethods.GENERIC_WRITE, shareMode);
}
catch (Exception exception)
{
@@ -109,10 +116,9 @@ namespace EonaCat.HID
throw new Exception("EonaCat HID: Error opening device.", exception);
}
- IsOpen = (ReadHandle.ToInt32() != NativeMethods.INVALID_HANDLE_VALUE && WriteHandle.ToInt32() != NativeMethods.INVALID_HANDLE_VALUE);
+ IsOpen = (_deviceModeHelper.ReadHandle.ToInt32() != NativeMethods.INVALID_HANDLE_VALUE && _deviceModeHelper.WriteHandle.ToInt32() != NativeMethods.INVALID_HANDLE_VALUE);
}
-
public void CloseDevice()
{
if (!IsOpen)
@@ -120,8 +126,8 @@ namespace EonaCat.HID
return;
}
- CloseDeviceIO(ReadHandle);
- CloseDeviceIO(WriteHandle);
+ CloseDeviceIO(_deviceModeHelper.ReadHandle);
+ CloseDeviceIO(_deviceModeHelper.WriteHandle);
IsOpen = false;
}
@@ -134,9 +140,9 @@ namespace EonaCat.HID
{
if (IsConnected)
{
- if (IsOpen == false)
+ if (!IsOpen)
{
- OpenDevice(_readMode, _writeMode, _shareMode);
+ OpenDevice(_deviceModeHelper.ReadMode, _deviceModeHelper.WriteMode, _deviceModeHelper.ShareMode);
}
try
@@ -147,7 +153,6 @@ namespace EonaCat.HID
{
return new DeviceData(DeviceData.ReadStatus.ReadError);
}
-
}
return new DeviceData(DeviceData.ReadStatus.NotConnected);
}
@@ -200,7 +205,7 @@ namespace EonaCat.HID
{
byte[] commandBuffer = new byte[Capabilities.InputReportByteLength];
commandBuffer[0] = reportId;
- bool bSuccess = NativeMethods.HidD_GetInputReport(ReadHandle, commandBuffer, commandBuffer.Length);
+ bool bSuccess = NativeMethods.HidD_GetInputReport(_deviceModeHelper.ReadHandle, commandBuffer, commandBuffer.Length);
DeviceData deviceData = new DeviceData(commandBuffer, bSuccess ? DeviceData.ReadStatus.Success : DeviceData.ReadStatus.NoDataRead);
return new Report(Capabilities.InputReportByteLength, deviceData);
}
@@ -224,7 +229,7 @@ namespace EonaCat.HID
{
if (IsOpen)
{
- hidHandle = ReadHandle;
+ hidHandle = _deviceModeHelper.ReadHandle;
}
else
{
@@ -244,7 +249,7 @@ namespace EonaCat.HID
}
finally
{
- if (hidHandle != IntPtr.Zero && hidHandle != ReadHandle)
+ if (hidHandle != IntPtr.Zero && hidHandle != _deviceModeHelper.ReadHandle)
{
CloseDeviceIO(hidHandle);
}
@@ -255,7 +260,7 @@ namespace EonaCat.HID
public string ReadProductName()
{
- if (ReadProductName(out byte[] bytes))
+ if (ReadProductName(out byte[] bytes))
{
return ByteHelper.GetFilledBytesString(bytes);
}
@@ -264,14 +269,14 @@ namespace EonaCat.HID
public bool ReadProductName(out byte[] data)
{
- data = new byte[_byteSize];
+ data = new byte[BUFFER_SIZE];
IntPtr handle = IntPtr.Zero;
bool success = false;
try
{
if (IsOpen)
{
- handle = ReadHandle;
+ handle = _deviceModeHelper.ReadHandle;
}
else
{
@@ -286,7 +291,7 @@ namespace EonaCat.HID
}
finally
{
- if (handle != IntPtr.Zero && handle != ReadHandle)
+ if (handle != IntPtr.Zero && handle != _deviceModeHelper.ReadHandle)
{
CloseDeviceIO(handle);
}
@@ -306,14 +311,14 @@ namespace EonaCat.HID
public bool ReadManufacturer(out byte[] data)
{
- data = new byte[_byteSize];
+ data = new byte[BUFFER_SIZE];
IntPtr handle = IntPtr.Zero;
bool success = false;
try
{
if (IsOpen)
{
- handle = ReadHandle;
+ handle = _deviceModeHelper.ReadHandle;
}
else
{
@@ -328,7 +333,7 @@ namespace EonaCat.HID
}
finally
{
- if (handle != IntPtr.Zero && handle != ReadHandle)
+ if (handle != IntPtr.Zero && handle != _deviceModeHelper.ReadHandle)
{
CloseDeviceIO(handle);
}
@@ -348,14 +353,14 @@ namespace EonaCat.HID
public bool ReadSerialNumber(out byte[] data)
{
- data = new byte[_byteSize];
+ data = new byte[BUFFER_SIZE];
IntPtr hidHandle = IntPtr.Zero;
bool success = false;
try
{
if (IsOpen)
{
- hidHandle = ReadHandle;
+ hidHandle = _deviceModeHelper.ReadHandle;
}
else
{
@@ -370,7 +375,7 @@ namespace EonaCat.HID
}
finally
{
- if (hidHandle != IntPtr.Zero && hidHandle != ReadHandle)
+ if (hidHandle != IntPtr.Zero && hidHandle != _deviceModeHelper.ReadHandle)
{
CloseDeviceIO(hidHandle);
}
@@ -388,9 +393,9 @@ namespace EonaCat.HID
{
if (IsConnected)
{
- if (IsOpen == false)
+ if (!IsOpen)
{
- OpenDevice(_readMode, _writeMode, _shareMode);
+ OpenDevice(_deviceModeHelper.ReadMode, _deviceModeHelper.WriteMode, _deviceModeHelper.ShareMode);
}
try
@@ -450,20 +455,19 @@ namespace EonaCat.HID
}
///
- /// Handle data transfers on the control channel.
+ /// Handle data transfers on the control channel.
/// This method places data on the control channel for devices
/// that do not support the interupt transfers
///
/// The outbound HID report
/// The result of the tranfer request: true if successful otherwise false
- ///
+ ///
public bool WriteReportSync(Report report)
{
-
if (null != report)
{
byte[] buffer = report.GetBytes();
- return (NativeMethods.HidD_SetOutputReport(WriteHandle, buffer, buffer.Length));
+ return (NativeMethods.HidD_SetOutputReport(_deviceModeHelper.WriteHandle, buffer, buffer.Length));
}
else
{
@@ -497,14 +501,13 @@ namespace EonaCat.HID
Array.Copy(data, 0, buffer, 0, Math.Min(data.Length, _capabilities.FeatureReportByteLength));
-
IntPtr hidHandle = IntPtr.Zero;
bool success = false;
try
{
if (IsOpen)
{
- hidHandle = WriteHandle;
+ hidHandle = _deviceModeHelper.WriteHandle;
}
else
{
@@ -520,7 +523,7 @@ namespace EonaCat.HID
}
finally
{
- if (hidHandle != IntPtr.Zero && hidHandle != WriteHandle)
+ if (hidHandle != IntPtr.Zero && hidHandle != _deviceModeHelper.WriteHandle)
{
CloseDeviceIO(hidHandle);
}
@@ -635,7 +638,7 @@ namespace EonaCat.HID
Array.Copy(data, 0, buffer, 0, Math.Min(data.Length, _capabilities.OutputReportByteLength));
- if (_writeMode == DeviceMode.Overlapped)
+ if (_deviceModeHelper.WriteMode == DeviceMode.Overlapped)
{
var security = new NativeMethods.SECURITY_ATTRIBUTES();
var overlapped = new NativeOverlapped();
@@ -652,7 +655,7 @@ namespace EonaCat.HID
try
{
- NativeMethods.WriteFile(WriteHandle, buffer, (uint)buffer.Length, out bytesWritten, ref overlapped);
+ NativeMethods.WriteFile(_deviceModeHelper.WriteHandle, buffer, (uint)buffer.Length, out bytesWritten, ref overlapped);
}
catch { return false; }
@@ -662,10 +665,13 @@ namespace EonaCat.HID
{
case NativeMethods.WAIT_OBJECT_0:
return true;
+
case NativeMethods.WAIT_TIMEOUT:
return false;
+
case NativeMethods.WAIT_FAILED:
return false;
+
default:
return false;
}
@@ -675,7 +681,7 @@ namespace EonaCat.HID
try
{
var overlapped = new NativeOverlapped();
- return NativeMethods.WriteFile(WriteHandle, buffer, (uint)buffer.Length, out bytesWritten, ref overlapped);
+ return NativeMethods.WriteFile(_deviceModeHelper.WriteHandle, buffer, (uint)buffer.Length, out bytesWritten, ref overlapped);
}
catch { return false; }
}
@@ -694,7 +700,7 @@ namespace EonaCat.HID
buffer = CreateInputBuffer();
nonManagedBuffer = Marshal.AllocHGlobal(buffer.Length);
- if (_readMode == DeviceMode.Overlapped)
+ if (_deviceModeHelper.ReadMode == DeviceMode.Overlapped)
{
var security = new NativeMethods.SECURITY_ATTRIBUTES();
var overlapped = new NativeOverlapped();
@@ -710,9 +716,9 @@ namespace EonaCat.HID
try
{
- var success = NativeMethods.ReadFile(ReadHandle, nonManagedBuffer, (uint)buffer.Length, out bytesRead, ref overlapped);
+ var success = NativeMethods.ReadFile(_deviceModeHelper.ReadHandle, nonManagedBuffer, (uint)buffer.Length, out bytesRead, ref overlapped);
- if (success)
+ if (success)
{
status = DeviceData.ReadStatus.Success; // No check here to see if bytesRead > 0 . Perhaps not necessary?
}
@@ -720,20 +726,23 @@ namespace EonaCat.HID
{
var result = NativeMethods.WaitForSingleObject(overlapped.EventHandle, overlapTimeout);
- switch (result)
+ switch (result)
{
case NativeMethods.WAIT_OBJECT_0:
status = DeviceData.ReadStatus.Success;
- NativeMethods.GetOverlappedResult(ReadHandle, ref overlapped, out bytesRead, false);
+ NativeMethods.GetOverlappedResult(_deviceModeHelper.ReadHandle, ref overlapped, out bytesRead, false);
break;
+
case NativeMethods.WAIT_TIMEOUT:
status = DeviceData.ReadStatus.WaitTimedOut;
buffer = new byte[] { };
break;
- case NativeMethods.WAIT_FAILED:
+
+ case NativeMethods.WAIT_FAILED:
status = DeviceData.ReadStatus.WaitFail;
buffer = new byte[] { };
break;
+
default:
status = DeviceData.ReadStatus.NoDataRead;
buffer = new byte[] { };
@@ -743,7 +752,8 @@ namespace EonaCat.HID
Marshal.Copy(nonManagedBuffer, buffer, 0, (int)bytesRead);
}
catch { status = DeviceData.ReadStatus.ReadError; }
- finally {
+ finally
+ {
CloseDeviceIO(overlapped.EventHandle);
Marshal.FreeHGlobal(nonManagedBuffer);
}
@@ -754,7 +764,7 @@ namespace EonaCat.HID
{
var overlapped = new NativeOverlapped();
- NativeMethods.ReadFile(ReadHandle, nonManagedBuffer, (uint)buffer.Length, out bytesRead, ref overlapped);
+ NativeMethods.ReadFile(_deviceModeHelper.ReadHandle, nonManagedBuffer, (uint)buffer.Length, out bytesRead, ref overlapped);
status = DeviceData.ReadStatus.Success;
Marshal.Copy(nonManagedBuffer, buffer, 0, (int)bytesRead);
}
@@ -800,7 +810,7 @@ namespace EonaCat.HID
{
if (!IsOpen)
{
- OpenDevice(_readMode, _writeMode, _shareMode);
+ OpenDevice(_deviceModeHelper.ReadMode, _deviceModeHelper.WriteMode, _deviceModeHelper.ShareMode);
}
OnInserted?.Invoke();
@@ -829,4 +839,4 @@ namespace EonaCat.HID
}
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/DeviceData.cs b/EonaCat.HID/DeviceData.cs
index 1625ff4..1904488 100644
--- a/EonaCat.HID/DeviceData.cs
+++ b/EonaCat.HID/DeviceData.cs
@@ -16,7 +16,7 @@
public DeviceData(ReadStatus status)
{
- Data = new byte[] {};
+ Data = new byte[] { };
Status = status;
}
@@ -29,4 +29,4 @@
public byte[] Data { get; private set; }
public ReadStatus Status { get; private set; }
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/DeviceEventMonitor.cs b/EonaCat.HID/DeviceEventMonitor.cs
index 5ade23e..a22574d 100644
--- a/EonaCat.HID/DeviceEventMonitor.cs
+++ b/EonaCat.HID/DeviceEventMonitor.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Threading;
-using System.Threading.Tasks;
+using System.Threading.Tasks;
namespace EonaCat.HID
{
@@ -9,9 +7,11 @@ namespace EonaCat.HID
internal class DeviceEventMonitor
{
public event InsertedEventHandler Inserted;
+
public event RemovedEventHandler Removed;
public delegate void InsertedEventHandler();
+
public delegate void RemovedEventHandler();
private readonly Device _device;
@@ -24,43 +24,31 @@ namespace EonaCat.HID
public void Init()
{
-#if NET20 || NET35 || NET5_0_OR_GREATER
- Task task = Task.Factory.StartNew(() => EventMonitor());
-#else
- var eventMonitor = new Action(EventMonitor);
- eventMonitor.BeginInvoke(DisposeDeviceEventMonitor, eventMonitor);
-#endif
+ Task.Run(EventMonitor);
}
- private void EventMonitor()
+ private async Task EventMonitor()
{
- var isConnected = _device.IsConnected;
-
- if (isConnected != _wasConnected)
+ while (_device.MonitorDeviceEvents)
{
- if (isConnected && Inserted != null)
+ var isConnected = _device.IsConnected;
+
+ if (isConnected != _wasConnected)
{
- Inserted();
- }
- else if (!isConnected && Removed != null)
- {
- Removed();
+ if (isConnected)
+ {
+ Inserted?.Invoke();
+ }
+ else
+ {
+ Removed?.Invoke();
+ }
+
+ _wasConnected = isConnected;
}
- _wasConnected = isConnected;
+ await Task.Delay(100);
}
-
- Thread.Sleep(500);
-
- if (_device.MonitorDeviceEvents)
- {
- Init();
- }
- }
-
- private static void DisposeDeviceEventMonitor(IAsyncResult ar)
- {
- ((Action)ar.AsyncState).EndInvoke(ar);
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/Devices.cs b/EonaCat.HID/Devices.cs
index cfaca6f..31c52d0 100644
--- a/EonaCat.HID/Devices.cs
+++ b/EonaCat.HID/Devices.cs
@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
@@ -32,7 +31,7 @@ namespace EonaCat.HID
public static IEnumerable Enumerate(int vendorId, params int[] productIds)
{
- return EnumerateDevices().Select(x => new Device(x.Path, x.Description)).Where(x => x.Info.VendorId == vendorId &&
+ return EnumerateDevices().Select(x => new Device(x.Path, x.Description)).Where(x => x.Info.VendorId == vendorId &&
productIds.Contains(x.Info.ProductId));
}
@@ -41,7 +40,7 @@ namespace EonaCat.HID
return EnumerateDevices().Select(x => new Device(x.Path, x.Description)).Where(x => x.Info.VendorId == vendorId &&
productId == (ushort)x.Info.ProductId && (ushort)x.Capabilities.UsagePage == UsagePage);
}
-
+
public static IEnumerable Enumerate(int vendorId)
{
return EnumerateDevices().Select(x => new Device(x.Path, x.Description)).Where(x => x.Info.VendorId == vendorId);
@@ -52,7 +51,8 @@ namespace EonaCat.HID
return EnumerateDevices().Select(x => new Device(x.Path, x.Description)).Where(x => (ushort)x.Capabilities.UsagePage == UsagePage);
}
- internal class DeviceInfo { public string Path { get; set; } public string Description { get; set; } }
+ internal class DeviceInfo
+ { public string Path { get; set; } public string Description { get; set; } }
internal static IEnumerable EnumerateDevices()
{
@@ -106,7 +106,7 @@ namespace EonaCat.HID
NativeMethods.SetupDiGetDeviceInterfaceDetail(deviceInfoSet, ref deviceInterfaceData, IntPtr.Zero, 0, ref bufferSize, IntPtr.Zero);
- return NativeMethods.SetupDiGetDeviceInterfaceDetail(deviceInfoSet, ref deviceInterfaceData, ref interfaceDetail, bufferSize, ref bufferSize, IntPtr.Zero) ?
+ return NativeMethods.SetupDiGetDeviceInterfaceDetail(deviceInfoSet, ref deviceInterfaceData, ref interfaceDetail, bufferSize, ref bufferSize, IntPtr.Zero) ?
interfaceDetail.DevicePath : null;
}
@@ -177,4 +177,4 @@ namespace EonaCat.HID
}
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/Enumerator.cs b/EonaCat.HID/Enumerator.cs
index b3c771c..cc208f4 100644
--- a/EonaCat.HID/Enumerator.cs
+++ b/EonaCat.HID/Enumerator.cs
@@ -14,30 +14,27 @@ namespace EonaCat.HID
public IDevice GetDevice(string devicePath)
{
- return Devices.GetDevice(devicePath) as IDevice;
+ return Devices.GetDevice(devicePath);
}
public IEnumerable Enumerate()
{
- return Devices.Enumerate().
- Select(d => d as IDevice);
+ return Devices.Enumerate().Select(x => x as IDevice);
}
public IEnumerable Enumerate(string devicePath)
{
- return Devices.Enumerate(devicePath).
- Select(d => d as IDevice);
+ return Devices.Enumerate(devicePath).Select(x => x as IDevice);
}
public IEnumerable Enumerate(int vendorId, params int[] productIds)
{
- return Devices.Enumerate(vendorId, productIds).
- Select(d => d as IDevice);
+ return Devices.Enumerate(vendorId, productIds).Select(x => x as IDevice);
}
public IEnumerable Enumerate(int vendorId)
{
- return Devices.Enumerate(vendorId).Select(d => d as IDevice);
+ return Devices.Enumerate(vendorId).Select(x => x as IDevice);
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/EonaCat.HID.csproj b/EonaCat.HID/EonaCat.HID.csproj
index eb8a343..5c94a80 100644
--- a/EonaCat.HID/EonaCat.HID.csproj
+++ b/EonaCat.HID/EonaCat.HID.csproj
@@ -1,7 +1,7 @@
- net20;net35;net40;net45;netstandard2
+ net45;netstandard2
true
EonaCat (Jeroen Saey)
Copyright 2024 EonaCat (Jeroen Saey)
@@ -30,11 +30,6 @@
true
-
-
-
-
-
True
diff --git a/EonaCat.HID/Helpers/ByteHelper.cs b/EonaCat.HID/Helpers/ByteHelper.cs
index 0431705..2c394f0 100644
--- a/EonaCat.HID/Helpers/ByteHelper.cs
+++ b/EonaCat.HID/Helpers/ByteHelper.cs
@@ -4,6 +4,9 @@ using System.Text;
namespace EonaCat.HID.Helpers
{
+ // This file is part of the EonaCat project(s) which is released under the Apache License.
+ // See the LICENSE file or go to https://EonaCat.com/License for full license details.
+
public static class ByteHelper
{
public static string ByteArrayToHexString(byte[] bytes, string separator = "")
@@ -29,4 +32,4 @@ namespace EonaCat.HID.Helpers
return new string(buffer, 0, index >= 0 ? index : buffer.Length);
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/Helpers/DeviceModeHelper.cs b/EonaCat.HID/Helpers/DeviceModeHelper.cs
new file mode 100644
index 0000000..ccc2a7c
--- /dev/null
+++ b/EonaCat.HID/Helpers/DeviceModeHelper.cs
@@ -0,0 +1,13 @@
+using System;
+
+namespace EonaCat.HID.Helpers
+{
+ internal class DeviceModeHelper
+ {
+ public IntPtr ReadHandle { get; set; }
+ public IntPtr WriteHandle { get; set; }
+ public DeviceMode ReadMode { get; set; } = DeviceMode.NonOverlapped;
+ public DeviceMode WriteMode { get; set; } = DeviceMode.NonOverlapped;
+ public ShareMode ShareMode = ShareMode.ShareRead | ShareMode.ShareWrite;
+ }
+}
\ No newline at end of file
diff --git a/EonaCat.HID/IDevice.cs b/EonaCat.HID/IDevice.cs
index 631c569..50c3633 100644
--- a/EonaCat.HID/IDevice.cs
+++ b/EonaCat.HID/IDevice.cs
@@ -7,6 +7,7 @@ namespace EonaCat.HID
// See the LICENSE file or go to https://EonaCat.com/License for full license details.
public delegate void InsertedEventHandler();
+
public delegate void RemovedEventHandler();
public enum DeviceMode
@@ -24,21 +25,22 @@ namespace EonaCat.HID
}
public delegate void ReadCallback(DeviceData data);
+
public delegate void ReadReportCallback(Report report);
+
public delegate void WriteCallback(bool success);
public interface IDevice : IDisposable
{
event InsertedEventHandler OnInserted;
+
event RemovedEventHandler OnRemoved;
- IntPtr ReadHandle { get; }
- IntPtr WriteHandle { get; }
bool IsOpen { get; }
bool IsConnected { get; }
string Description { get; }
Capabilities Capabilities { get; }
- Attributes Info { get; }
+ Attributes Info { get; }
string DevicePath { get; }
bool MonitorDeviceEvents { get; set; }
@@ -62,6 +64,7 @@ namespace EonaCat.HID
Task ReadReportAsync(int timeout = 0);
Report ReadReport(int timeout = 0);
+
bool ReadFeatureData(out byte[] data, byte reportId = 0);
bool ReadProductName(out byte[] data);
@@ -94,4 +97,4 @@ namespace EonaCat.HID
bool WriteFeatureData(byte[] data);
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/IEnumerator.cs b/EonaCat.HID/IEnumerator.cs
index 82da70e..1d0ed36 100644
--- a/EonaCat.HID/IEnumerator.cs
+++ b/EonaCat.HID/IEnumerator.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
+using System.Collections.Generic;
namespace EonaCat.HID
{
@@ -9,10 +7,15 @@ namespace EonaCat.HID
public interface IEnumerator
{
bool IsConnected(string devicePath);
+
IDevice GetDevice(string devicePath);
+
IEnumerable Enumerate();
+
IEnumerable Enumerate(string devicePath);
+
IEnumerable Enumerate(int vendorId, params int[] productIds);
+
IEnumerable Enumerate(int vendorId);
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/NativeMethods.cs b/EonaCat.HID/NativeMethods.cs
index 66906f9..18a4bc5 100644
--- a/EonaCat.HID/NativeMethods.cs
+++ b/EonaCat.HID/NativeMethods.cs
@@ -33,28 +33,28 @@ namespace EonaCat.HID
}
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
- static internal extern bool CancelIoEx(IntPtr hFile, IntPtr lpOverlapped);
+ internal static extern bool CancelIoEx(IntPtr hFile, IntPtr lpOverlapped);
[DllImport("kernel32.dll", SetLastError = true, ExactSpelling = true)]
- static internal extern bool CloseHandle(IntPtr hObject);
+ internal static extern bool CloseHandle(IntPtr hObject);
[DllImport("kernel32.dll")]
- static internal extern IntPtr CreateEvent(ref SECURITY_ATTRIBUTES securityAttributes, int bManualReset, int bInitialState, string lpName);
+ internal static extern IntPtr CreateEvent(ref SECURITY_ATTRIBUTES securityAttributes, int bManualReset, int bInitialState, string lpName);
[DllImport("kernel32.dll", SetLastError = true)]
- static internal extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, ref SECURITY_ATTRIBUTES lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, IntPtr hTemplateFile);
+ internal static extern IntPtr CreateFile(string lpFileName, uint dwDesiredAccess, int dwShareMode, ref SECURITY_ATTRIBUTES lpSecurityAttributes, int dwCreationDisposition, int dwFlagsAndAttributes, IntPtr hTemplateFile);
[DllImport("kernel32.dll", SetLastError = true)]
- static internal extern bool ReadFile(IntPtr hFile, IntPtr lpBuffer, uint nNumberOfBytesToRead, out uint lpNumberOfBytesRead, [In] ref System.Threading.NativeOverlapped lpOverlapped);
+ internal static extern bool ReadFile(IntPtr hFile, IntPtr lpBuffer, uint nNumberOfBytesToRead, out uint lpNumberOfBytesRead, [In] ref System.Threading.NativeOverlapped lpOverlapped);
[DllImport("kernel32.dll")]
- static internal extern uint WaitForSingleObject(IntPtr hHandle, int dwMilliseconds);
+ internal static extern uint WaitForSingleObject(IntPtr hHandle, int dwMilliseconds);
[DllImport("kernel32.dll", SetLastError = true)]
- static internal extern bool GetOverlappedResult(IntPtr hFile, [In] ref System.Threading.NativeOverlapped lpOverlapped, out uint lpNumberOfBytesTransferred, bool bWait);
+ internal static extern bool GetOverlappedResult(IntPtr hFile, [In] ref System.Threading.NativeOverlapped lpOverlapped, out uint lpNumberOfBytesTransferred, bool bWait);
[DllImport("kernel32.dll")]
- static internal extern bool WriteFile(IntPtr hFile, byte[] lpBuffer, uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten, [In] ref System.Threading.NativeOverlapped lpOverlapped);
+ internal static extern bool WriteFile(IntPtr hFile, byte[] lpBuffer, uint nNumberOfBytesToWrite, out uint lpNumberOfBytesWritten, [In] ref System.Threading.NativeOverlapped lpOverlapped);
internal const short DIGCF_PRESENT = 0x2;
internal const short DIGCF_DEVICEINTERFACE = 0x10;
@@ -115,6 +115,7 @@ namespace EonaCat.HID
internal struct SP_DEVICE_INTERFACE_DETAIL_DATA
{
internal int Size;
+
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)]
internal string DevicePath;
}
@@ -135,22 +136,22 @@ namespace EonaCat.HID
public static extern unsafe bool SetupDiGetDeviceProperty(IntPtr deviceInfo, ref SP_DEVINFO_DATA deviceInfoData, ref DEVPROPKEY propkey, ref uint propertyDataType, void* propertyBuffer, int propertyBufferSize, ref int requiredSize, uint flags);
[DllImport("setupapi.dll")]
- static internal extern bool SetupDiEnumDeviceInfo(IntPtr deviceInfoSet, int memberIndex, ref SP_DEVINFO_DATA deviceInfoData);
+ internal static extern bool SetupDiEnumDeviceInfo(IntPtr deviceInfoSet, int memberIndex, ref SP_DEVINFO_DATA deviceInfoData);
[DllImport("setupapi.dll")]
- static internal extern int SetupDiDestroyDeviceInfoList(IntPtr deviceInfoSet);
+ internal static extern int SetupDiDestroyDeviceInfoList(IntPtr deviceInfoSet);
[DllImport("setupapi.dll")]
- static internal extern bool SetupDiEnumDeviceInterfaces(IntPtr deviceInfoSet, ref SP_DEVINFO_DATA deviceInfoData, ref Guid interfaceClassGuid, int memberIndex, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
+ internal static extern bool SetupDiEnumDeviceInterfaces(IntPtr deviceInfoSet, ref SP_DEVINFO_DATA deviceInfoData, ref Guid interfaceClassGuid, int memberIndex, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData);
[DllImport("setupapi.dll")]
- static internal extern IntPtr SetupDiGetClassDevs(ref System.Guid classGuid, string enumerator, IntPtr hwndParent, int flags);
+ internal static extern IntPtr SetupDiGetClassDevs(ref System.Guid classGuid, string enumerator, IntPtr hwndParent, int flags);
[DllImport("setupapi.dll")]
- static internal extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData, IntPtr deviceInterfaceDetailData, int deviceInterfaceDetailDataSize, ref int requiredSize, IntPtr deviceInfoData);
+ internal static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData, IntPtr deviceInterfaceDetailData, int deviceInterfaceDetailDataSize, ref int requiredSize, IntPtr deviceInfoData);
[DllImport("setupapi.dll")]
- static internal extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData, ref SP_DEVICE_INTERFACE_DETAIL_DATA deviceInterfaceDetailData, int deviceInterfaceDetailDataSize, ref int requiredSize, IntPtr deviceInfoData);
+ internal static extern bool SetupDiGetDeviceInterfaceDetail(IntPtr deviceInfoSet, ref SP_DEVICE_INTERFACE_DATA deviceInterfaceData, ref SP_DEVICE_INTERFACE_DETAIL_DATA deviceInterfaceDetailData, int deviceInterfaceDetailDataSize, ref int requiredSize, IntPtr deviceInfoData);
[StructLayout(LayoutKind.Sequential)]
internal struct HIDD_ATTRIBUTES
@@ -169,8 +170,10 @@ namespace EonaCat.HID
internal short InputReportByteLength;
internal short OutputReportByteLength;
internal short FeatureReportByteLength;
+
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
internal short[] Reserved;
+
internal short NumberLinkCollectionNodes;
internal short NumberInputButtonCaps;
internal short NumberInputValueCaps;
@@ -184,31 +187,31 @@ namespace EonaCat.HID
}
[DllImport("hid.dll")]
- static internal extern bool HidD_GetAttributes(IntPtr hidDeviceObject, ref HIDD_ATTRIBUTES attributes);
+ internal static extern bool HidD_GetAttributes(IntPtr hidDeviceObject, ref HIDD_ATTRIBUTES attributes);
[DllImport("hid.dll")]
- static internal extern bool HidD_GetFeature(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
+ internal static extern bool HidD_GetFeature(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
[DllImport("hid.dll")]
- static internal extern bool HidD_GetInputReport(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
+ internal static extern bool HidD_GetInputReport(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
[DllImport("hid.dll")]
- static internal extern void HidD_GetHidGuid(ref Guid hidGuid);
+ internal static extern void HidD_GetHidGuid(ref Guid hidGuid);
[DllImport("hid.dll")]
- static internal extern bool HidD_GetPreparsedData(IntPtr hidDeviceObject, ref IntPtr preparsedData);
+ internal static extern bool HidD_GetPreparsedData(IntPtr hidDeviceObject, ref IntPtr preparsedData);
[DllImport("hid.dll")]
- static internal extern bool HidD_FreePreparsedData(IntPtr preparsedData);
+ internal static extern bool HidD_FreePreparsedData(IntPtr preparsedData);
[DllImport("hid.dll")]
- static internal extern bool HidD_SetFeature(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
+ internal static extern bool HidD_SetFeature(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
[DllImport("hid.dll")]
- static internal extern bool HidD_SetOutputReport(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
+ internal static extern bool HidD_SetOutputReport(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
[DllImport("hid.dll")]
- static internal extern int HidP_GetCaps(IntPtr preparsedData, ref Capabilities capabilities);
+ internal static extern int HidP_GetCaps(IntPtr preparsedData, ref Capabilities capabilities);
[DllImport("hid.dll")]
internal static extern bool HidD_GetProductString(IntPtr hidDeviceObject, byte[] lpReportBuffer, int ReportBufferLength);
@@ -219,4 +222,4 @@ namespace EonaCat.HID
[DllImport("hid.dll")]
internal static extern bool HidD_GetSerialNumberString(IntPtr hidDeviceObject, byte[] lpReportBuffer, int reportBufferLength);
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/ReadDevice.cs b/EonaCat.HID/ReadDevice.cs
index 691bdc9..d36d45b 100644
--- a/EonaCat.HID/ReadDevice.cs
+++ b/EonaCat.HID/ReadDevice.cs
@@ -9,12 +9,7 @@ namespace EonaCat.HID
internal ReadDevice(string devicePath, string description = null)
: base(devicePath, description) { }
- public DeviceData FastRead()
- {
- return FastRead(0);
- }
-
- public DeviceData FastRead(int timeout)
+ public DeviceData FastRead(int timeout = 0)
{
try
{
@@ -26,58 +21,19 @@ namespace EonaCat.HID
}
}
- public void FastRead(ReadCallback callback)
- {
- FastRead(callback, 0);
- }
-
- public void FastRead(ReadCallback callback, int timeout)
- {
- var readDelegate = new ReadDelegate(FastRead);
- var asyncState = new StateAsync(readDelegate, callback);
- readDelegate.BeginInvoke(timeout, EndRead, asyncState);
- }
-
public async Task FastReadAsync(int timeout = 0)
{
- var readDelegate = new ReadDelegate(FastRead);
-#if NET20 || NET35 || NET5_0_OR_GREATER
- return await Task.Factory.StartNew(() => readDelegate.Invoke(timeout));
-#else
- return await Task.Factory.FromAsync(readDelegate.BeginInvoke, readDelegate.EndInvoke, timeout, null);
-#endif
+ return await Task.Run(() => FastRead(timeout));
}
- public Report FastReadReport()
- {
- return FastReadReport(0);
- }
-
- public Report FastReadReport(int timeout)
+ public Report FastReadReport(int timeout = 0)
{
return new Report(Capabilities.InputReportByteLength, FastRead(timeout));
}
- public void FastReadReport(ReadReportCallback callback)
- {
- FastReadReport(callback, 0);
- }
-
- public void FastReadReport(ReadReportCallback callback, int timeout)
- {
- var readReportDelegate = new ReadReportDelegate(FastReadReport);
- var asyncState = new StateAsync(readReportDelegate, callback);
- readReportDelegate.BeginInvoke(timeout, EndReadReport, asyncState);
- }
-
public async Task FastReadReportAsync(int timeout = 0)
{
- var readReportDelegate = new ReadReportDelegate(FastReadReport);
-#if NET20 || NET35 || NET5_0_OR_GREATER
- return await Task.Factory.StartNew(() => readReportDelegate.Invoke(timeout));
-#else
- return await Task.Factory.FromAsync(readReportDelegate.BeginInvoke, readReportDelegate.EndInvoke, timeout, null);
-#endif
+ return await Task.Run(() => FastReadReport(timeout));
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/ReadEnumerator.cs b/EonaCat.HID/ReadEnumerator.cs
index 00d2754..3524558 100644
--- a/EonaCat.HID/ReadEnumerator.cs
+++ b/EonaCat.HID/ReadEnumerator.cs
@@ -14,7 +14,7 @@ namespace EonaCat.HID
public IDevice GetDevice(string devicePath)
{
- return Enumerate(devicePath).FirstOrDefault() as IDevice;
+ return Enumerate(devicePath).FirstOrDefault();
}
public IEnumerable Enumerate()
diff --git a/EonaCat.HID/Report.cs b/EonaCat.HID/Report.cs
index 0846cfc..19d2a34 100644
--- a/EonaCat.HID/Report.cs
+++ b/EonaCat.HID/Report.cs
@@ -7,57 +7,57 @@ namespace EonaCat.HID
public class Report
{
private byte _reportId;
- private byte[] _data = new byte[] {};
-
+ private byte[] _data;
private readonly DeviceData.ReadStatus _status;
public Report(int reportSize)
{
- Array.Resize(ref _data, reportSize - 1);
+ if (reportSize > 0)
+ {
+ _data = new byte[reportSize - 1];
+ }
+ else
+ {
+ Exists = false;
+ return;
+ }
}
public Report(int reportSize, DeviceData deviceData)
{
_status = deviceData.Status;
-
- Array.Resize(ref _data, reportSize - 1);
-
- if ((deviceData.Data != null))
+ if (reportSize > 0)
{
-
- if (deviceData.Data.Length > 0)
- {
- _reportId = deviceData.Data[0];
- Exists = true;
-
- if (deviceData.Data.Length > 1)
- {
- var dataLength = reportSize - 1;
- if (deviceData.Data.Length < reportSize - 1)
- {
- dataLength = deviceData.Data.Length;
- }
-
- Array.Copy(deviceData.Data, 1, _data, 0, dataLength);
- }
- }
- else
- {
- Exists = false;
- }
+ _data = new byte[reportSize - 1];
}
else
{
Exists = false;
+ return;
+ }
+
+ if (deviceData?.Data == null || deviceData.Data.Length == 0)
+ {
+ Exists = false;
+ return;
+ }
+
+ _reportId = deviceData.Data[0];
+ Exists = true;
+
+ var dataLength = Math.Min(deviceData.Data.Length - 1, reportSize - 1);
+ if (dataLength > 0)
+ {
+ Array.Copy(deviceData.Data, 1, _data, 0, dataLength);
}
}
public bool Exists { get; private set; }
- public DeviceData.ReadStatus ReadStatus { get { return _status; } }
+ public DeviceData.ReadStatus ReadStatus => _status;
public byte ReportId
{
- get { return _reportId; }
+ get => _reportId;
set
{
_reportId = value;
@@ -67,7 +67,7 @@ namespace EonaCat.HID
public byte[] Data
{
- get { return _data; }
+ get => _data;
set
{
_data = value;
@@ -77,11 +77,10 @@ namespace EonaCat.HID
public byte[] GetBytes()
{
- byte[] data = null;
- Array.Resize(ref data, _data.Length + 1);
+ var data = new byte[_data.Length + 1];
data[0] = _reportId;
Array.Copy(_data, 0, data, 1, _data.Length);
return data;
}
}
-}
+}
\ No newline at end of file
diff --git a/EonaCat.HID/StateAsync.cs b/EonaCat.HID/StateAsync.cs
index 49447a6..7d1ffae 100644
--- a/EonaCat.HID/StateAsync.cs
+++ b/EonaCat.HID/StateAsync.cs
@@ -13,7 +13,9 @@
_callbackDelegate = callbackDelegate;
}
- public object CallerDelegate { get { return _callerDelegate; } }
- public object CallbackDelegate { get { return _callbackDelegate; } }
+ public object CallerDelegate
+ { get { return _callerDelegate; } }
+ public object CallbackDelegate
+ { get { return _callbackDelegate; } }
}
-}
+}
\ No newline at end of file