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