]> gitweb.factorcode.org Git - factor.git/blob - basis/iokit/hid/hid.factor
factor: trim more using lists.
[factor.git] / basis / iokit / hid / hid.factor
1 USING: alien.c-types alien.syntax core-foundation
2 core-foundation.arrays core-foundation.data
3 core-foundation.dictionaries core-foundation.run-loop
4 core-foundation.strings core-foundation.time kernel system
5 unix.types ;
6 IN: iokit.hid
7
8 CONSTANT: kIOHIDDeviceKey "IOHIDDevice"
9
10 CONSTANT: kIOHIDTransportKey                  "Transport"
11 CONSTANT: kIOHIDVendorIDKey                   "VendorID"
12 CONSTANT: kIOHIDVendorIDSourceKey             "VendorIDSource"
13 CONSTANT: kIOHIDProductIDKey                  "ProductID"
14 CONSTANT: kIOHIDVersionNumberKey              "VersionNumber"
15 CONSTANT: kIOHIDManufacturerKey               "Manufacturer"
16 CONSTANT: kIOHIDProductKey                    "Product"
17 CONSTANT: kIOHIDSerialNumberKey               "SerialNumber"
18 CONSTANT: kIOHIDCountryCodeKey                "CountryCode"
19 CONSTANT: kIOHIDLocationIDKey                 "LocationID"
20 CONSTANT: kIOHIDDeviceUsageKey                "DeviceUsage"
21 CONSTANT: kIOHIDDeviceUsagePageKey            "DeviceUsagePage"
22 CONSTANT: kIOHIDDeviceUsagePairsKey           "DeviceUsagePairs"
23 CONSTANT: kIOHIDPrimaryUsageKey               "PrimaryUsage"
24 CONSTANT: kIOHIDPrimaryUsagePageKey           "PrimaryUsagePage"
25 CONSTANT: kIOHIDMaxInputReportSizeKey         "MaxInputReportSize"
26 CONSTANT: kIOHIDMaxOutputReportSizeKey       "MaxOutputReportSize"
27 CONSTANT: kIOHIDMaxFeatureReportSizeKey       "MaxFeatureReportSize"
28 CONSTANT: kIOHIDReportIntervalKey             "ReportInterval"
29
30 CONSTANT: kIOHIDElementKey                    "Elements"
31
32 CONSTANT: kIOHIDElementCookieKey                      "ElementCookie"
33 CONSTANT: kIOHIDElementTypeKey                        "Type"
34 CONSTANT: kIOHIDElementCollectionTypeKey              "CollectionType"
35 CONSTANT: kIOHIDElementUsageKey                       "Usage"
36 CONSTANT: kIOHIDElementUsagePageKey                   "UsagePage"
37 CONSTANT: kIOHIDElementMinKey                         "Min"
38 CONSTANT: kIOHIDElementMaxKey                         "Max"
39 CONSTANT: kIOHIDElementScaledMinKey                   "ScaledMin"
40 CONSTANT: kIOHIDElementScaledMaxKey                   "ScaledMax"
41 CONSTANT: kIOHIDElementSizeKey                        "Size"
42 CONSTANT: kIOHIDElementReportSizeKey                  "ReportSize"
43 CONSTANT: kIOHIDElementReportCountKey                 "ReportCount"
44 CONSTANT: kIOHIDElementReportIDKey                    "ReportID"
45 CONSTANT: kIOHIDElementIsArrayKey                     "IsArray"
46 CONSTANT: kIOHIDElementIsRelativeKey                  "IsRelative"
47 CONSTANT: kIOHIDElementIsWrappingKey                  "IsWrapping"
48 CONSTANT: kIOHIDElementIsNonLinearKey                 "IsNonLinear"
49 CONSTANT: kIOHIDElementHasPreferredStateKey           "HasPreferredState"
50 CONSTANT: kIOHIDElementHasNullStateKey                "HasNullState"
51 CONSTANT: kIOHIDElementFlagsKey                       "Flags"
52 CONSTANT: kIOHIDElementUnitKey                        "Unit"
53 CONSTANT: kIOHIDElementUnitExponentKey                "UnitExponent"
54 CONSTANT: kIOHIDElementNameKey                        "Name"
55 CONSTANT: kIOHIDElementValueLocationKey               "ValueLocation"
56 CONSTANT: kIOHIDElementDuplicateIndexKey              "DuplicateIndex"
57 CONSTANT: kIOHIDElementParentCollectionKey            "ParentCollection"
58
59 : kIOHIDElementVendorSpecificKey ( -- str )
60     cpu ppc? "VendorSpecifc" "VendorSpecific" ? ; inline
61
62 CONSTANT: kIOHIDElementCookieMinKey           "ElementCookieMin"
63 CONSTANT: kIOHIDElementCookieMaxKey           "ElementCookieMax"
64 CONSTANT: kIOHIDElementUsageMinKey            "UsageMin"
65 CONSTANT: kIOHIDElementUsageMaxKey            "UsageMax"
66
67 CONSTANT: kIOHIDElementCalibrationMinKey              "CalibrationMin"
68 CONSTANT: kIOHIDElementCalibrationMaxKey              "CalibrationMax"
69 CONSTANT: kIOHIDElementCalibrationSaturationMinKey    "CalibrationSaturationMin"
70 CONSTANT: kIOHIDElementCalibrationSaturationMaxKey    "CalibrationSaturationMax"
71 CONSTANT: kIOHIDElementCalibrationDeadZoneMinKey      "CalibrationDeadZoneMin"
72 CONSTANT: kIOHIDElementCalibrationDeadZoneMaxKey      "CalibrationDeadZoneMax"
73 CONSTANT: kIOHIDElementCalibrationGranularityKey      "CalibrationGranularity"
74
75 CONSTANT: kIOHIDElementTypeInput_Misc        1
76 CONSTANT: kIOHIDElementTypeInput_Button      2
77 CONSTANT: kIOHIDElementTypeInput_Axis        3
78 CONSTANT: kIOHIDElementTypeInput_ScanCodes   4
79 CONSTANT: kIOHIDElementTypeOutput            129
80 CONSTANT: kIOHIDElementTypeFeature           257
81 CONSTANT: kIOHIDElementTypeCollection        513
82
83 CONSTANT: kIOHIDElementCollectionTypePhysical     0x00
84 CONSTANT: kIOHIDElementCollectionTypeApplication    0x01
85 CONSTANT: kIOHIDElementCollectionTypeLogical        0x02
86 CONSTANT: kIOHIDElementCollectionTypeReport         0x03
87 CONSTANT: kIOHIDElementCollectionTypeNamedArray     0x04
88 CONSTANT: kIOHIDElementCollectionTypeUsageSwitch    0x05
89 CONSTANT: kIOHIDElementCollectionTypeUsageModifier  0x06
90
91 CONSTANT: kIOHIDReportTypeInput    0
92 CONSTANT: kIOHIDReportTypeOutput   1
93 CONSTANT: kIOHIDReportTypeFeature  2
94 CONSTANT: kIOHIDReportTypeCount    3
95
96 CONSTANT: kIOHIDOptionsTypeNone        0x00
97 CONSTANT: kIOHIDOptionsTypeSeizeDevice 0x01
98
99 CONSTANT: kIOHIDQueueOptionsTypeNone    0x00
100 CONSTANT: kIOHIDQueueOptionsTypeEnqueueAll 0x01
101
102 CONSTANT: kIOHIDElementFlagsConstantMask        0x0001
103 CONSTANT: kIOHIDElementFlagsVariableMask        0x0002
104 CONSTANT: kIOHIDElementFlagsRelativeMask        0x0004
105 CONSTANT: kIOHIDElementFlagsWrapMask            0x0008
106 CONSTANT: kIOHIDElementFlagsNonLinearMask       0x0010
107 CONSTANT: kIOHIDElementFlagsNoPreferredMask     0x0020
108 CONSTANT: kIOHIDElementFlagsNullStateMask       0x0040
109 CONSTANT: kIOHIDElementFlagsVolativeMask        0x0080
110 CONSTANT: kIOHIDElementFlagsBufferedByteMask    0x0100
111
112 CONSTANT: kIOHIDValueScaleTypeCalibrated 0
113 CONSTANT: kIOHIDValueScaleTypePhysical   1
114
115 CONSTANT: kIOHIDTransactionDirectionTypeInput  0
116 CONSTANT: kIOHIDTransactionDirectionTypeOutput 1
117
118 CONSTANT: kIOHIDTransactionOptionDefaultOutputValue 1
119
120 TYPEDEF: ptrdiff_t IOHIDElementCookie
121 TYPEDEF: int IOHIDElementType
122 TYPEDEF: int IOHIDElementCollectionType
123 TYPEDEF: int IOHIDReportType
124 TYPEDEF: uint IOHIDOptionsType
125 TYPEDEF: uint IOHIDQueueOptionsType
126 TYPEDEF: uint IOHIDElementFlags
127 TYPEDEF: void* IOHIDDeviceRef
128 TYPEDEF: void* IOHIDElementRef
129 TYPEDEF: void* IOHIDQueueRef
130 TYPEDEF: void* IOHIDValueRef
131 TYPEDEF: void* IOHIDManagerRef
132 TYPEDEF: void* IOHIDTransactionRef
133 TYPEDEF: UInt32 IOHIDValueScaleType
134 TYPEDEF: UInt32 IOHIDTransactionDirectionType
135
136 CALLBACK: void IOHIDCallback ( void* context, IOReturn result, void* sender )
137 CALLBACK: void IOHIDReportCallback ( void* context, IOReturn result, void* sender, IOHIDReportType type, UInt32 reportID, uchar* report, CFIndex reportLength )
138 CALLBACK: void IOHIDValueCallback ( void* context, IOReturn result, void* sender, IOHIDValueRef value )
139 CALLBACK: void IOHIDValueMultipleCallback ( void* context, IOReturn result, void* sender, CFDictionaryRef multiple )
140 CALLBACK: void IOHIDDeviceCallback ( void* context, IOReturn result, void* sender, IOHIDDeviceRef device )
141
142 ! IOHIDDevice
143
144 FUNCTION: CFTypeID IOHIDDeviceGetTypeID ( )
145 FUNCTION: IOHIDDeviceRef IOHIDDeviceCreate ( CFAllocatorRef allocator, io_service_t service )
146 FUNCTION: IOReturn IOHIDDeviceOpen ( IOHIDDeviceRef device, IOOptionBits options )
147 FUNCTION: IOReturn IOHIDDeviceClose ( IOHIDDeviceRef device, IOOptionBits options )
148 FUNCTION: Boolean IOHIDDeviceConformsTo ( IOHIDDeviceRef device, UInt32 usagePage, UInt32 usage )
149 FUNCTION: CFTypeRef IOHIDDeviceGetProperty ( IOHIDDeviceRef device, CFStringRef key )
150 FUNCTION: Boolean IOHIDDeviceSetProperty ( IOHIDDeviceRef device, CFStringRef key, CFTypeRef property )
151 FUNCTION: CFArrayRef IOHIDDeviceCopyMatchingElements ( IOHIDDeviceRef device, CFDictionaryRef matching, IOOptionBits options )
152 FUNCTION: void IOHIDDeviceScheduleWithRunLoop ( IOHIDDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode )
153 FUNCTION: void IOHIDDeviceUnscheduleFromRunLoop ( IOHIDDeviceRef device, CFRunLoopRef runLoop, CFStringRef runLoopMode )
154 FUNCTION: void IOHIDDeviceRegisterRemovalCallback ( IOHIDDeviceRef device, IOHIDCallback callback, void* context )
155 FUNCTION: void IOHIDDeviceRegisterInputValueCallback ( IOHIDDeviceRef device, IOHIDValueCallback callback, void* context )
156 FUNCTION: void IOHIDDeviceRegisterInputReportCallback ( IOHIDDeviceRef device, uchar* report, CFIndex reportLength, IOHIDReportCallback callback, void* context )
157 FUNCTION: void IOHIDDeviceSetInputValueMatching ( IOHIDDeviceRef device, CFDictionaryRef matching )
158 FUNCTION: void IOHIDDeviceSetInputValueMatchingMultiple ( IOHIDDeviceRef device, CFArrayRef multiple )
159 FUNCTION: IOReturn IOHIDDeviceSetValue ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef value )
160 FUNCTION: IOReturn IOHIDDeviceSetValueMultiple ( IOHIDDeviceRef device, CFDictionaryRef multiple )
161 FUNCTION: IOReturn IOHIDDeviceSetValueWithCallback ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef value, CFTimeInterval timeout, IOHIDValueCallback callback, void* context )
162 FUNCTION: IOReturn IOHIDDeviceSetValueMultipleWithCallback ( IOHIDDeviceRef device, CFDictionaryRef multiple, CFTimeInterval timeout, IOHIDValueMultipleCallback callback, void* context )
163 FUNCTION: IOReturn IOHIDDeviceGetValue ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef* pValue )
164 FUNCTION: IOReturn IOHIDDeviceCopyValueMultiple ( IOHIDDeviceRef device, CFArrayRef elements, CFDictionaryRef* pMultiple )
165 FUNCTION: IOReturn IOHIDDeviceGetValueWithCallback ( IOHIDDeviceRef device, IOHIDElementRef element, IOHIDValueRef* pValue, CFTimeInterval timeout, IOHIDValueCallback callback, void* context )
166 FUNCTION: IOReturn IOHIDDeviceCopyValueMultipleWithCallback ( IOHIDDeviceRef device, CFArrayRef elements, CFDictionaryRef* pMultiple, CFTimeInterval timeout, IOHIDValueMultipleCallback callback, void* context )
167 FUNCTION: IOReturn IOHIDDeviceSetReport ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex reportLength )
168 FUNCTION: IOReturn IOHIDDeviceSetReportWithCallback ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex reportLength, CFTimeInterval timeout, IOHIDReportCallback callback, void* context )
169 FUNCTION: IOReturn IOHIDDeviceGetReport ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex* pReportLength )
170 FUNCTION: IOReturn IOHIDDeviceGetReportWithCallback ( IOHIDDeviceRef device, IOHIDReportType reportType, CFIndex reportID, char* report, CFIndex* pReportLength, CFTimeInterval timeout, IOHIDReportCallback callback, void* context )
171
172 ! IOHIDManager
173
174 FUNCTION: CFTypeID IOHIDManagerGetTypeID ( )
175 FUNCTION: IOHIDManagerRef IOHIDManagerCreate ( CFAllocatorRef allocator, IOOptionBits options )
176 FUNCTION: IOReturn IOHIDManagerOpen ( IOHIDManagerRef manager, IOOptionBits options )
177 FUNCTION: IOReturn IOHIDManagerClose ( IOHIDManagerRef manager, IOOptionBits options )
178 FUNCTION: CFTypeRef IOHIDManagerGetProperty ( IOHIDManagerRef manager, CFStringRef key )
179 FUNCTION: Boolean IOHIDManagerSetProperty ( IOHIDManagerRef manager, CFStringRef key, CFTypeRef value )
180 FUNCTION: void IOHIDManagerScheduleWithRunLoop ( IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode )
181 FUNCTION: void IOHIDManagerUnscheduleFromRunLoop ( IOHIDManagerRef manager, CFRunLoopRef runLoop, CFStringRef runLoopMode )
182 FUNCTION: void IOHIDManagerSetDeviceMatching ( IOHIDManagerRef manager, CFDictionaryRef matching )
183 FUNCTION: void IOHIDManagerSetDeviceMatchingMultiple ( IOHIDManagerRef manager, CFArrayRef multiple )
184 FUNCTION: CFSetRef IOHIDManagerCopyDevices ( IOHIDManagerRef manager )
185 FUNCTION: void IOHIDManagerRegisterDeviceMatchingCallback ( IOHIDManagerRef manager, IOHIDDeviceCallback callback, void* context )
186 FUNCTION: void IOHIDManagerRegisterDeviceRemovalCallback ( IOHIDManagerRef manager, IOHIDDeviceCallback callback, void* context )
187 FUNCTION: void IOHIDManagerRegisterInputReportCallback ( IOHIDManagerRef manager, IOHIDReportCallback callback, void* context )
188 FUNCTION: void IOHIDManagerRegisterInputValueCallback ( IOHIDManagerRef manager, IOHIDValueCallback callback, void* context )
189 FUNCTION: void IOHIDManagerSetInputValueMatching ( IOHIDManagerRef manager, CFDictionaryRef matching )
190 FUNCTION: void IOHIDManagerSetInputValueMatchingMultiple ( IOHIDManagerRef manager, CFArrayRef multiple )
191
192 ! IOHIDElement
193
194 FUNCTION: CFTypeID IOHIDElementGetTypeID ( )
195 FUNCTION: IOHIDElementRef IOHIDElementCreateWithDictionary ( CFAllocatorRef allocator, CFDictionaryRef dictionary )
196 FUNCTION: IOHIDDeviceRef IOHIDElementGetDevice ( IOHIDElementRef element )
197 FUNCTION: IOHIDElementRef IOHIDElementGetParent ( IOHIDElementRef element )
198 FUNCTION: CFArrayRef IOHIDElementGetChildren ( IOHIDElementRef element )
199 FUNCTION: void IOHIDElementAttach ( IOHIDElementRef element, IOHIDElementRef toAttach )
200 FUNCTION: void IOHIDElementDetach ( IOHIDElementRef element, IOHIDElementRef toDetach )
201 FUNCTION: CFArrayRef IOHIDElementCopyAttached ( IOHIDElementRef element )
202 FUNCTION: IOHIDElementCookie IOHIDElementGetCookie ( IOHIDElementRef element )
203 FUNCTION: IOHIDElementType IOHIDElementGetType ( IOHIDElementRef element )
204 FUNCTION: IOHIDElementCollectionType IOHIDElementGetCollectionType ( IOHIDElementRef element )
205 FUNCTION: UInt32 IOHIDElementGetUsagePage ( IOHIDElementRef element )
206 FUNCTION: UInt32 IOHIDElementGetUsage ( IOHIDElementRef element )
207 FUNCTION: Boolean IOHIDElementIsVirtual ( IOHIDElementRef element )
208 FUNCTION: Boolean IOHIDElementIsRelative ( IOHIDElementRef element )
209 FUNCTION: Boolean IOHIDElementIsWrapping ( IOHIDElementRef element )
210 FUNCTION: Boolean IOHIDElementIsArray ( IOHIDElementRef element )
211 FUNCTION: Boolean IOHIDElementIsNonLinear ( IOHIDElementRef element )
212 FUNCTION: Boolean IOHIDElementHasPreferredState ( IOHIDElementRef element )
213 FUNCTION: Boolean IOHIDElementHasNullState ( IOHIDElementRef element )
214 FUNCTION: CFStringRef IOHIDElementGetName ( IOHIDElementRef element )
215 FUNCTION: UInt32 IOHIDElementGetReportID ( IOHIDElementRef element )
216 FUNCTION: UInt32 IOHIDElementGetReportSize ( IOHIDElementRef element )
217 FUNCTION: UInt32 IOHIDElementGetReportCount ( IOHIDElementRef element )
218 FUNCTION: UInt32 IOHIDElementGetUnit ( IOHIDElementRef element )
219 FUNCTION: UInt32 IOHIDElementGetUnitExponent ( IOHIDElementRef element )
220 FUNCTION: CFIndex IOHIDElementGetLogicalMin ( IOHIDElementRef element )
221 FUNCTION: CFIndex IOHIDElementGetLogicalMax ( IOHIDElementRef element )
222 FUNCTION: CFIndex IOHIDElementGetPhysicalMin ( IOHIDElementRef element )
223 FUNCTION: CFIndex IOHIDElementGetPhysicalMax ( IOHIDElementRef element )
224 FUNCTION: CFTypeRef IOHIDElementGetProperty ( IOHIDElementRef element, CFStringRef key )
225 FUNCTION: Boolean IOHIDElementSetProperty ( IOHIDElementRef element, CFStringRef key, CFTypeRef property )
226
227 ! IOHIDValue
228
229 FUNCTION: CFTypeID IOHIDValueGetTypeID ( )
230 FUNCTION: IOHIDValueRef IOHIDValueCreateWithIntegerValue ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, CFIndex value )
231 FUNCTION: IOHIDValueRef IOHIDValueCreateWithBytes ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, c-string bytes, CFIndex length )
232 FUNCTION: IOHIDValueRef IOHIDValueCreateWithBytesNoCopy ( CFAllocatorRef allocator, IOHIDElementRef element, ulonglong timeStamp, c-string bytes, CFIndex length )
233 FUNCTION: IOHIDElementRef IOHIDValueGetElement ( IOHIDValueRef value )
234 FUNCTION: ulonglong IOHIDValueGetTimeStamp ( IOHIDValueRef value )
235 FUNCTION: CFIndex IOHIDValueGetLength ( IOHIDValueRef value )
236 FUNCTION: uchar* IOHIDValueGetBytePtr ( IOHIDValueRef value )
237 FUNCTION: CFIndex IOHIDValueGetIntegerValue ( IOHIDValueRef value )
238 FUNCTION: double IOHIDValueGetScaledValue ( IOHIDValueRef value, IOHIDValueScaleType type )
239
240 ! IOHIDTransaction
241
242 FUNCTION: CFTypeID IOHIDTransactionGetTypeID ( )
243 FUNCTION: IOHIDTransactionRef IOHIDTransactionCreate ( CFAllocatorRef allocator, IOHIDDeviceRef device, IOHIDTransactionDirectionType direction, IOOptionBits options )
244 FUNCTION: IOHIDDeviceRef IOHIDTransactionGetDevice ( IOHIDTransactionRef transaction )
245 FUNCTION: IOHIDTransactionDirectionType IOHIDTransactionGetDirection ( IOHIDTransactionRef transaction )
246 FUNCTION: void IOHIDTransactionSetDirection ( IOHIDTransactionRef transaction, IOHIDTransactionDirectionType direction )
247 FUNCTION: void IOHIDTransactionAddElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
248 FUNCTION: void IOHIDTransactionRemoveElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
249 FUNCTION: Boolean IOHIDTransactionContainsElement ( IOHIDTransactionRef transaction, IOHIDElementRef element )
250 FUNCTION: void IOHIDTransactionScheduleWithRunLoop ( IOHIDTransactionRef transaction, CFRunLoopRef runLoop, CFStringRef runLoopMode )
251 FUNCTION: void IOHIDTransactionUnscheduleFromRunLoop ( IOHIDTransactionRef transaction, CFRunLoopRef runLoop, CFStringRef runLoopMode )
252 FUNCTION: void IOHIDTransactionSetValue ( IOHIDTransactionRef transaction, IOHIDElementRef element, IOHIDValueRef value, IOOptionBits options )
253 FUNCTION: IOHIDValueRef IOHIDTransactionGetValue ( IOHIDTransactionRef transaction, IOHIDElementRef element, IOOptionBits options )
254 FUNCTION: IOReturn IOHIDTransactionCommit ( IOHIDTransactionRef transaction )
255 FUNCTION: IOReturn IOHIDTransactionCommitWithCallback ( IOHIDTransactionRef transaction, CFTimeInterval timeout, IOHIDCallback callback, void* context )
256 FUNCTION: void IOHIDTransactionClear ( IOHIDTransactionRef transaction )
257
258 ! IOHIDQueue
259
260 FUNCTION: CFTypeID IOHIDQueueGetTypeID ( )
261 FUNCTION: IOHIDDeviceRef IOHIDQueueGetDevice ( IOHIDQueueRef queue )