1+ @{
2+ ViewBag .Title = " Configurations" ;
3+ string repoUrl = " https://github.com/OpenTabletDriver/OpenTabletDriver" ;
4+ }
5+
6+ <h3 class =" wiki-nav-item pb-2" id =" general" >
7+ Device Information
8+ </h3 >
9+ <div class =" ms-3" >
10+ <p >
11+ Generic device identification information is required for OpenTabletDriver in order for it to be able
12+ to differentiate tablets.
13+ </p >
14+
15+ <table class =" table table-hover text-center" >
16+ <tr >
17+ <th >Property Name</th >
18+ <th >Value Type</th >
19+ <th class =" text-start w-75" >Description</th >
20+ </tr >
21+
22+ <tr >
23+ <td >Name</td >
24+ <td >
25+ <code >string</code >
26+ </td >
27+ <td class =" text-start" >
28+ The name of the device. This is always the device manufacturer's name followed by the device's
29+ model number or product name when not applicable.
30+ </td >
31+ </tr >
32+ </table >
33+ </div >
34+
35+ <hr />
36+
37+ <h3 class =" wiki-nav-item pb-2" id =" specifications" >
38+ Specifications
39+ </h3 >
40+ <div class =" ms-3" >
41+ <p >
42+ Tablet configuration specifications provide OpenTabletDriver with information it needs in order to
43+ correctly and accurately handle the data the tablet device outputs.
44+ </p >
45+
46+ <h4 id =" specifications-digitizer" >Digitizer</h4 >
47+ <div class =" ms-3" >
48+ <p >
49+ This refers to the graphics tablet's digitizer, which provides coordinates of where the tool is
50+ positioned. This is always required for the device to function.
51+ </p >
52+
53+ <table class =" table table-hover text-center" >
54+ <tr >
55+ <th >Property Name</th >
56+ <th >Value Type</th >
57+ <th >Units</th >
58+ <th class =" text-start w-50" >Description</th >
59+ </tr >
60+
61+ <tr >
62+ <td >Width</td >
63+ <td >
64+ <code >double</code >
65+ </td >
66+ <td >mm</td >
67+ <td class =" text-start" >
68+ The width of the digitizer in millimeters.
69+ </td >
70+ </tr >
71+ <tr >
72+ <td >Height</td >
73+ <td >
74+ <code >double</code >
75+ </td >
76+ <td >mm</td >
77+ <td class =" text-start" >
78+ The height of the digitizer in millimeters.
79+ </td >
80+ </tr >
81+ <tr >
82+ <td >Horizontal Resolution</td >
83+ <td >
84+ <code >double</code >
85+ </td >
86+ <td >Device Units</td >
87+ <td class =" text-start" >
88+ The horizontal resolution of the digitizer in device units.
89+ </td >
90+ </tr >
91+ <tr >
92+ <td >Vertical Resolution</td >
93+ <td >
94+ <code >double</code >
95+ </td >
96+ <td >Device Units</td >
97+ <td class =" text-start" >
98+ The vertical resolution of the digitizer in device units.
99+ </td >
100+ </tr >
101+ </table >
102+ </div >
103+
104+ <h4 >Pen</h4 >
105+ <div class =" ms-3" >
106+ <p >
107+ This refers to the pen tool for the graphics tablet. It is the source of position and typically the
108+ source of pressure data. This is almost always required.
109+ </p >
110+
111+ <table class =" table table-hover text-center" >
112+ <tr >
113+ <th >Property Name</th >
114+ <th >Value Type</th >
115+ <th class =" text-start w-75" >Description</th >
116+ </tr >
117+
118+ <tr >
119+ <td >Max Pressure</td >
120+ <td >
121+ <code >uint</code >
122+ </td >
123+ <td class =" text-start" >
124+ The maximum pressure reported by the pen in device pressure units.
125+ This is used to calculate a percentage of pressure.
126+ </td >
127+ </tr >
128+ <tr >
129+ <td >Button Count</td >
130+ <td >
131+ <code >uint</code >
132+ </td >
133+ <td class =" text-start" >
134+ The amount of buttons on the pen. This does not include the eraser, as the eraser is just
135+ reported as a flag for the device.
136+ </td >
137+ </tr >
138+ </table >
139+ </div >
140+
141+ <h4 id =" specifications-auxiliary-buttons" >Auxiliary Buttons</h4 >
142+ <div class =" ms-3" >
143+ <p >
144+ This refers to any buttons located on the graphics tablet pad. This should only be enabled if there
145+ are any auxililary buttons.
146+ </p >
147+
148+ <table class =" table table-hover text-center" >
149+ <tr >
150+ <th >Property Name</th >
151+ <th >Value Type</th >
152+ <th class =" text-start w-75" >Description</th >
153+ </tr >
154+
155+ <tr >
156+ <td >Button Count</td >
157+ <td >
158+ <code >uint</code >
159+ </td >
160+ <td class =" text-start" >
161+ The amount of buttons.
162+ </td >
163+ </tr >
164+ </table >
165+ </div >
166+
167+ <h4 >Touch</h4 >
168+ <div class =" ms-3" >
169+ <p >
170+ This refers to the touch digitizer, which may be built into the pen digitizer. This exists as the
171+ resolution of the touch digitizer can be different than the pen digitizer. This should only be
172+ enabled if the graphics tablet supports touch input.
173+ </p >
174+ <p >
175+ This has the same properties as the <a href =" #specifications-digitizer" >digitizer</a >.
176+ </p >
177+ </div >
178+
179+ <h4 >Mouse</h4 >
180+ <div class =" ms-3" >
181+ <p >
182+ This refers to an absolute positioning mouse tool. This should only be enabled if the graphics
183+ tablet supports a mouse.
184+ </p >
185+ <p >
186+ This has the same properties as the
187+ <a href =" #specifications-auxiliary-buttons" >auxiliary buttons</a >.
188+ </p >
189+ </div >
190+ </div >
191+
192+ <hr />
193+
194+ <h3 class =" wiki-nav-item pb-2" id =" identifiers" >
195+ Identifiers
196+ </h3 >
197+ <div class =" ms-3" >
198+ <p >
199+ Device identifiers are what actually detect the tablet. Anything defined here is used in the
200+ detection process to pinpoint devices.
201+ </p >
202+
203+ <table class =" table table-hover text-center" >
204+ <tr >
205+ <th class =" w-25" >Property Name</th >
206+ <th >Value Type</th >
207+ <th class =" text-start w-75" >Description</th >
208+ </tr >
209+
210+ <tr >
211+ <td >Vendor ID</td >
212+ <td >
213+ <code >ushort</code >
214+ </td >
215+ <td class =" text-start" >
216+ A USB-IF defined identifier that defines which vendor the device is produced by.
217+ Since this is assigned by the USB-IF it can be quite reliable for determining
218+ the manufacturer.
219+ </td >
220+ </tr >
221+ <tr >
222+ <td >Product ID</td >
223+ <td >
224+ <code >ushort</code >
225+ </td >
226+ <td class =" text-start" >
227+ A vendor-defined identifier for the device. This can be used to identify a device,
228+ however this can be unreliable as it depends on the vendor defining it different
229+ for all of their devices.
230+ </td >
231+ </tr >
232+ <tr >
233+ <td >Input Report Length</td >
234+ <td >
235+ <code >ushort</code >
236+ </td >
237+ <td class =" text-start" >
238+ The length of input reports from the device. This is always required as report parsers
239+ expect a specific report length.
240+ </td >
241+ </tr >
242+ <tr >
243+ <td >Output Report Length</td >
244+ <td >
245+ <code >ushort</code >
246+ </td >
247+ <td class =" text-start" >
248+ The length of output reports to the device endpoint. This is not always required,
249+ however it does help make the detection more precise.
250+ </td >
251+ </tr >
252+ <tr >
253+ <td >Report Parser</td >
254+ <td >
255+ <code >string</code >
256+ </td >
257+ <td class =" text-start" >
258+ The parser that will read and convert all tablet report data into a format that
259+ OpenTabletDriver understands. This is the full namespace and the class name.
260+ <br />
261+ <small class =" text-muted ms-3" >
262+ Note: All supported vendor-specific report parsers can be found
263+ <a class =" link-light" href =" @repoUrl/tree/HEAD/OpenTabletDriver.Configurations/Parsers" >here</a >
264+ </small >
265+ </td >
266+ </tr >
267+ <tr >
268+ <td >Feature Initialization Report</td >
269+ <td >
270+ <code >List< ; byte[]> ; </code >
271+ </td >
272+ <td class =" text-start" >
273+ A list of feature reports to be sent to the device to perform the device's initialization sequence.
274+ </td >
275+ </tr >
276+ <tr >
277+ <td >Output Initialization Report</td >
278+ <td >
279+ <code >List< ; byte[]> ; </code >
280+ </td >
281+ <td class =" text-start" >
282+ A list of output reports to be sent to the device to perform the device's initialization sequence.
283+ </td >
284+ </tr >
285+ <tr >
286+ <td >Device Strings</td >
287+ <td >
288+ <code >Dictionary< ; byte, string> ; </code >
289+ </td >
290+ <td class =" text-start" >
291+ A list of regular expressions for specific indexes of device strings contained within the device's
292+ firmware. This is optional however is used commonly to improve detection precision. Device strings
293+ can be retreived using the device string reader.
294+ </td >
295+ </tr >
296+ <tr >
297+ <td >Initialization String Indexes</td >
298+ <td >
299+ <code >byte[]</code >
300+ </td >
301+ <td class =" text-start" >
302+ A list of indexes to be retrieved from the device as part of the device's initialization sequence.
303+ This is optional, and very infrequently used.
304+ </td >
305+ </tr >
306+ </table >
307+
308+ <p >
309+ <small class =" text-muted ms-3" >
310+ Note: Byte arrays (<code >byte[]</code >) are serialized as Base64 in JSON.NET, the library that
311+ serializes and deserializes configurations.
312+ </small >
313+ </p >
314+ </div >
315+
316+ <h3 class =" wiki-nav-item pb-2" >
317+ Attributes
318+ </h3 >
319+ <div class =" ms-3" >
320+ <p >
321+ Attributes are used as platform specific properties to be used within utilties or tools.
322+ These aren't typically required for functionality.
323+ </p >
324+ </div >
0 commit comments