-
Notifications
You must be signed in to change notification settings - Fork 3
/
listing1.html
executable file
·268 lines (230 loc) · 11 KB
/
listing1.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<!-- BEGIN META TAG INFO -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="home" href="http://developer.apple.com/">
<link rel="find" href="http://developer.apple.com/search/">
<link rel="stylesheet" type="text/css" href="../../documentation/css/adcstyle.css" title="fonts">
<script language="JavaScript" src="../../documentation/js/adc.js" type="text/javascript"></script>
<!-- END META TAG INFO -->
<!-- BEGIN TITLE -->
<title>HID Explorer - /HID Explorer-Read Me.txt</title>
<!-- END TITLE -->
<script language="JavaScript">
function JumpToNewPage() {
window.location=document.scpopupmenu.gotop.value;
return true;
}
</script>
</head>
<!-- BEGIN BODY OPEN -->
<body>
<!--END BODY OPEN -->
<!-- START CENTER OPEN -->
<center>
<!-- END CENTER OPEN -->
<!-- BEGIN LOGO AND SEARCH -->
<!--#include virtual="/includes/adcnavbar"-->
<!-- END LOGO AND SEARCH -->
<!-- START BREADCRUMB -->
<div id="breadcrumb">
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td scope="row"><img width="340" height="10" src="images/1dot.gif" alt=""></td>
<td><img width="340" height="10" src="images/1dot.gif" alt=""></td>
</tr>
<tr valign="middle">
<td align="left" colspan="2">
<a href="http://developer.apple.com/">ADC Home</a> > <a href="../../referencelibrary/index.html">Reference Library</a> > <a href="../../samplecode/index.html">Sample Code</a> > <a href="../../samplecode/Games/index.html">Games</a> > <a href="../../samplecode/Games/idxHumanInterfaceDeviceForceFeedback-date.html">Human Interface Device & Force Feedback</a> > <A HREF="javascript:location.replace('index.html');">HID Explorer</A> >
</td>
</tr>
<tr>
<td colspan="2" scope="row"><img width="680" height="35" src="images/1dot.gif" alt=""></td>
</tr>
</table>
</div>
<!-- END BREADCRUMB -->
<!-- START MAIN CONTENT -->
<!-- START TITLE GRAPHIC AND INTRO-->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td><h1><div id="pagehead">HID Explorer</div></h1></td>
</tr>
</table>
<!-- END TITLE GRAPHIC AND INTRO -->
<!-- START WIDE COLUMN -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td id="scdetails">
<h2>/HID Explorer-Read Me.txt</h2>
<form name="scpopupmenu" onSubmit="return false;" method=post>
<p><strong>View Source Code:</strong>
<select name="gotop" onChange="JumpToNewPage();" style="width:340px"><option selected value="ingnore">Select File</option>
<option value="listing1.html">/HID Explorer-Read Me.txt</option>
<option value="listing2.html">/HID Utilities/HID_Utilities.c</option>
<option value="listing3.html">/HID Utilities/HID_Utilities.h</option>
<option value="listing4.html">/HID Utilities/ImmrHIDUtilAddOn.c</option>
<option value="listing5.html">/HID Utilities/ImmrHIDUtilAddOn.h</option>
<option value="listing6.html">/HID Utilities/IOHIDDevice_.c</option>
<option value="listing7.html">/HID Utilities/IOHIDDevice_.h</option>
<option value="listing8.html">/HID Utilities/IOHIDElement_.c</option>
<option value="listing9.html">/HID Utilities/IOHIDElement_.h</option>
<option value="listing10.html">/HID Utilities/IOHIDLib_.h</option>
<option value="listing11.html">/main.c</option></select>
</p>
</form>
<p><strong><a href="HID_Explorer.zip">Download Sample</a></strong> (“HID_Explorer.zip”, 106.9K)<BR>
<strong><a href="HID_Explorer.dmg">Download Sample</a></strong> (“HID_Explorer.dmg”, 164.5K)</p>
<!--
<p><strong><a href="#">Download Sample</a></strong> (“filename.sit”, 500K)</p>
-->
</td>
</tr>
<tr>
<td scope="row"><img width="680" height="10" src="images/1dot.gif" alt=""><br>
<img height="1" width="680" src="images/1dot_919699.gif" alt=""><br>
<img width="680" height="20" src="images/1dot.gif" alt=""></td>
</tr>
<tr>
<td scope="row">
<!--googleon: index -->
<pre class="sourcecodebox">HID Explorer
Human Interface Device Explorer
Version 4.1 14 Apr 2008
----
This application is a Carbon NIB sample which builds a list of all HID device
and device elements attached to a Mac OS X system. It allows the exploration of
all device and element parameters and values. The application also polls the
current elements for their values; these values are then calibrated to the full
range reported and also scaled to a range of 0 to 255.
----
Requirements: Mac OS X 10.5, Xcode 3.0
Packing List
------------
The sample contains the following items:
HID Explorer-Read Me.txt - this file
HID Explorer.xcodeproj - Xcode project file
configs - Xcode configuration files
HID Explorer.pch - prefix header file
main.c - main source file
HID Explorer-Info.plist - source for info.plist
English.lproj - English localization files
⁃ main.nib - the main nib
⁃ InfoPlist.strings - strings file
HID Utilities - folder of sources for HID utility files
⁃ IOHIDLib_.h - single include header for HID utility files
⁃ HID_Utilities.c - HID utility source
⁃ HID_Utilities.h - HID utility header
⁃ IOHIDDevice_.c - HID Device utilities source
⁃ IOHIDDevice_.h - HID Device utilities header
⁃ IOHIDElement_.c - HID Element utilities source
⁃ IOHIDElement_.h - HID Element utilities source
⁃ English.lproj - HID utilities localization files
⁃ HID_usage_strings.plist - HID usage strings (XML) file
build - contains a prebuilt binary.
HID_Config.pch
InfoPlist.strings
build
configs
English.lproj
English.lproj
HID Utilities
Building the Sample
-------------------
The sample was built using Xcode 3.0 on Mac OS X 10.5. You should be able to
just open the project and choose Build from the Build menu. This will build
"HID Explorer.app" in the "build/debug" or "build/release" directory.
Using the Sample
----------------
Launch "HID Explorer"
The top pop-up menu is populated with currently connected HID Devices. Select
one of these devices and its information will be displayed in the top third of
the window and the bottom pop-up menu will be populated with all the elements
for the selected device. Select one of these elements and its information will
be displayed in the bottom half of the window. At the bottom of the window are
three sliders that display the current physical, logical and calibrated values
for the selected element.
How the code works
------------
In main after the main nib is loaded and used to create the application menus
and a window then event handlers are installed that draw the three custom slider
controls (physical, logical and calibrated). Then Build_AppDeviceList is called
which opens a connection the the HID Manager and then calls Build_DeviceMenu to
populate the top (device) pop-up menu. When the user selects a device from this
pop-up menu the Handle_WindowEvents routine is called and it then calls
Update_WindowDeviceInfo which updates all the device controls in the top third
of the screen; it also calls Build_ElementMenu which populates the lower
(element) pop-up menu. When an element in this pop-up is selected the
Handle_WindowEvents routine is called and it calls Update_WindowElementInfo to
update the lower half of the screen with the eleemnt information.
Caveats
-------
This demonstration application and the set of utilities is constantly evolving
to both address any bugs and provide better support for developer requested
features. Any suggestions and/or bugs can be directed to the Apple bug reporter
at: <http://developer.apple.com/bugreporter/index.html>
We hope this helps people get up and running with the HID Manager APIs
introduced in 10.5 in a quick and painless manner.
Credits and Version History
---------------------------
Version 4.1 Prefix file renamed; typo's fixed, etc. no code changes. (versions
sync'd also)
Version 4.0: Update for new Leopard API's and Universal Binary.
Dropped MWCW, Project Builder and CFM support.
Version 3.0: Update for new interface types and include files. Added
CFM support in separate CW project. This CFM
application utilizes the HID.Bundle (containing a MachO
dylib). The sample is set up to look for the bundle in
the same directory as the application (which could be
modified easily to suit developer needs). Note, this
CFM sample application is bundled (with the CW project
designed to put the executable in the correct place with
the correct name for the bundle) but this is only to
support the Nib interface. There is no requirement for a
bundled application to use HID Utilities CFM support.
Version 2.0: Update. Update to include parser fro PID and Power
devices. Modified handling of elements to build
heirarchy menus from binary tree of elements. Fixed some
Mac OS X issues.
Version 1.0: Initial release. Application to demonstrate acquiring
and deciphering HID devices using HID Utility functions.
Share and Enjoy.
Apple Developer Technical Support
</pre>
<!--googleoff: index -->
</td>
</tr>
</table>
<!-- END WIDE COLUMN -->
<!-- END MAIN CONTENT -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div style="width: 100%; height: 1px; background-color: #919699; margin-top: 5px; margin-bottom: 15px"></div></td>
</tr>
<tr>
<td align="center"><br/>
<table border="0" cellpadding="0" cellspacing="0" class="graybox">
<tr>
<th>Did this document help you?</th>
</tr>
<tr>
<td>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=1&url=/samplecode/HID_Explorer/listing1.html%3Fid%3DDTS10000443-2.1&media=dvd" target=_new>Yes</a>: Tell us what works for you.</div>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=2&url=/samplecode/HID_Explorer/listing1.html%3Fid%3DDTS10000443-2.1&media=dvd" target=_new>It’s good, but:</a> Report typos, inaccuracies, and so forth.</div>
<div><a href="http://developer.apple.com/feedback/?v=3&url=/samplecode/HID_Explorer/listing1.html%3Fid%3DDTS10000443-2.1&media=dvd" target=_new>It wasn’t helpful</a>: Tell us what would have helped.</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- START BOTTOM APPLE NAVIGATION -->
<!--#include virtual="/includes/footer"-->
<!-- END BOTTOM APPLE NAVIGATION -->
<!-- START CENTER CLOSE -->
</center>
<!-- END CENTER CLOSE -->
</body>
</html>