Chameleon

Chameleon Svn Source Tree

Root/branches/ErmaC/Modules/i386/include/IOKit/hidsystem/IOHIDParameter.h

1/*
2 * @APPLE_LICENSE_HEADER_START@
3 *
4 * Copyright (c) 1999-2003 Apple Computer, Inc. All Rights Reserved.
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23/* Copyright (c) 1992 NeXT Computer, Inc. All rights reserved.
24 *
25 * evsio.h - Get/Set parameter calls for Event Status Driver.
26 *
27 *CAUTION: Developers should stick to the API exported in
28 *<drivers/event_status_driver.h> to guarantee
29 *binary compatability of their applications in future
30 *releases.
31 *
32 * HISTORY
33 * 22 May 1992 Mike Paquette at NeXT
34 * Created.
35 */
36#ifndef _DEV_EVSIO_H
37#define _DEV_EVSIO_H
38
39/* Public type definitions. */
40#include <IOKit/hidsystem/IOHIDTypes.h>
41#include <IOKit/hidsystem/IOLLEvent.h>
42
43/*
44 * Identify this driver as one that uses the new driverkit and messaging API
45 */
46#ifndef _NeXT_MACH_EVENT_DRIVER_
47#define _NeXT_MACH_EVENT_DRIVER_(1)
48#endif /* !_NeXT_MACH_EVENT_DRIVER_ */
49
50/* * */
51
52#define kIOHIDKindKey"HIDKind"
53#define kIOHIDInterfaceIDKey"HIDInterfaceID"
54#define kIOHIDSubinterfaceIDKey"HIDSubinterfaceID"
55
56#define kIOHIDParametersKey"HIDParameters"
57
58#define kIOHIDVirtualHIDevice "HIDVirtualDevice"
59
60#define kIOHIDKeyRepeatKey"HIDKeyRepeat"
61#define kIOHIDInitialKeyRepeatKey"HIDInitialKeyRepeat"
62#define kIOHIDKeyMappingKey"HIDKeyMapping"
63#define kIOHIDResetKeyboardKey"HIDResetKeyboard"
64
65#define kIOHIDKeyboardModifierMappingPairsKey "HIDKeyboardModifierMappingPairs"
66#define kIOHIDKeyboardModifierMappingSrcKey "HIDKeyboardModifierMappingSrc"
67#define kIOHIDKeyboardModifierMappingDstKey "HIDKeyboardModifierMappingDst"
68
69#define kIOHIDKeyboardCapsLockDoesLockKey "HIDKeyboardCapsLockDoesLock"
70#define kIOHIDKeyboardSupportsF12EjectKey "HIDKeyboardSupportsF12Eject"
71#define kIOHIDKeyboardSupportedModifiersKey "HIDKeyboardSupportedModifiers"
72
73#define kIOHIDPointerResolutionKey"HIDPointerResolution"
74#define kIOHIDResetPointerKey"HIDResetPointer"
75#define kIOHIDPointerConvertAbsoluteKey"HIDPointerConvertAbsolute"
76#define kIOHIDPointerContactToMoveKey"HIDPointerContactToMove"
77#define kIOHIDPointerPressureToClickKey"HIDPointerPressureToClick"
78#define kIOHIDPointerButtonMode"HIDPointerButtonMode"
79#define kIOHIDPointerButtonCountKey"HIDPointerButtonCount"
80
81#define kIOHIDPointerAccelerationKey"HIDPointerAcceleration"
82#define kIOHIDPointerAccelerationSettingsKey"HIDPointerAccelerationSettings"
83#define kIOHIDPointerAccelerationTypeKey"HIDPointerAccelerationType"
84#define kIOHIDPointerAccelerationTableKey "HIDPointerAccelerationTable"
85
86#define kIOHIDScrollResetKey"HIDScrollReset"
87#define kIOHIDScrollResolutionKey"HIDScrollResolution"
88#define kIOHIDScrollReportRateKey "HIDScrollReportRate"
89#define kIOHIDScrollAccelerationKey"HIDScrollAcceleration"
90#define kIOHIDScrollAccelerationTypeKey "HIDScrollAccelerationType"
91#define kIOHIDScrollAccelerationTableKey"HIDScrollAccelerationTable"
92
93#define kIOHIDScrollResolutionXKey"HIDScrollResolutionX"
94#define kIOHIDScrollResolutionYKey"HIDScrollResolutionY"
95#define kIOHIDScrollResolutionZKey"HIDScrollResolutionZ"
96
97#define kIOHIDScrollAccelerationTableXKey"HIDScrollAccelerationTableX"
98#define kIOHIDScrollAccelerationTableYKey"HIDScrollAccelerationTableY"
99#define kIOHIDScrollAccelerationTableZKey"HIDScrollAccelerationTableZ"
100
101#define kIOHIDScrollMouseButtonKey "HIDScrollMouseButton"
102
103#define kIOHIDScrollZoomModifierMaskKey "HIDScrollZoomModifierMask"
104
105#define kIOHIDTrackpadScrollAccelerationKey "HIDTrackpadScrollAcceleration"
106#define kIOHIDMouseScrollAccelerationKey "HIDMouseScrollAcceleration"
107
108#define kIOHIDTrackpadAccelerationType"HIDTrackpadAcceleration"
109#define kIOHIDMouseAccelerationType"HIDMouseAcceleration"
110
111#define kIOHIDClickTimeKey"HIDClickTime"
112#define kIOHIDClickSpaceKey"HIDClickSpace"
113
114#define kIOHIDWaitCursorFrameIntervalKey"HIDWaitCursorFrameInterval"
115
116#define kIOHIDAutoDimThresholdKey"HIDAutoDimThreshold"
117#define kIOHIDAutoDimStateKey"HIDAutoDimState"
118#define kIOHIDAutoDimTimeKey"HIDAutoDimTime"
119#define kIOHIDIdleTimeKey"HIDIdleTime"
120
121#define kIOHIDBrightnessKey"HIDBrightness"
122#define kIOHIDAutoDimBrightnessKey"HIDAutoDimBrightness"
123
124#define kIOHIDFKeyModeKey"HIDFKeyMode"
125
126// if kIOHIDStickyKeysDisabledKey is 1, then all sticky keys functionality
127// is completely turned off. Multiple shifts will have no effect.
128#define kIOHIDStickyKeysDisabledKey"HIDStickyKeysDisabled"
129
130// if kIOHIDStickyKeysOnKey is 1 then a depressed modifier will stay down
131// until a non-modifer key is pressed (or sticky keys is turned off)
132#define kIOHIDStickyKeysOnKey"HIDStickyKeysOn"
133
134// if kIOHIDStickyKeysShiftTogglesKey is 1, then a sequence of five
135// shift keys in sequence will toggle sticky keys on or off
136#define kIOHIDStickyKeysShiftTogglesKey"HIDStickyKeysShiftToggles"
137
138// if kIOHIDMouseKeysOptionTogglesKey is 1, then a sequence of five
139// option keys in sequence will toggle mouse keys on or off
140#define kIOHIDMouseKeysOptionTogglesKey"HIDMouseKeysOptionToggles"
141
142// kIOHIDSlowKeysDelayKey represents the delay used for slow keys.
143// if kIOHIDSlowKeysDelayKey is 0, then slow keys off
144#define kIOHIDSlowKeysDelayKey"HIDSlowKeysDelay"
145
146#define kIOHIDF12EjectDelayKey"HIDF12EjectDelay"
147
148#define kIOHIDMouseKeysOnKey"HIDMouseKeysOn"
149
150#define kIOHIDUseKeyswitchKey "HIDUseKeyswitch"
151
152#define kIOHIDDisallowRemappingOfPrimaryClickKey"HIDDisallowRemappingOfPrimaryClick"
153#define kIOHIDMouseKeysEnablesVirtualNumPadKey"HIDMouseKeysEnablesVirtualNumPad"
154
155#define kIOHIDResetLEDsKey "HIDResetLEDs"
156
157
158#ifdef __ppc__
159 // the following are misspelled keys present in the system
160 // they are being kept around, but will eventually be deprecated
161 #define kIOHIDSickyKeysDisabledKeykIOHIDStickyKeysDisabledKey
162 #define kIOHIDSickyKeysOnKeykIOHIDStickyKeysOnKey
163 #define kIOHIDSickyKeysShiftTogglesKeykIOHIDStickyKeysShiftTogglesKey
164#endif
165
166// the following values are used in kIOHIDPointerButtonMode
167typedef enum {
168kIOHIDButtonMode_BothLeftClicks = 0,
169kIOHIDButtonMode_ReverseLeftRightClicks = 1,
170kIOHIDButtonMode_EnableRightClick = 2
171} IOHIDButtonModes;
172
173#ifdef _undef
174#define EVS_PREFIX"Evs_"/* All EVS calls start with this string */
175
176/* WaitCursor-related ioctls */
177
178#define EVSIOSWT "Evs_SetWaitThreshold"
179#define EVSIOSWT_SIZEEVS_PACKED_TIME_SIZE
180
181#define EVSIOSWS "Evs_SetWaitSustain"
182#define EVSIOSWS_SIZEEVS_PACKED_TIME_SIZE
183
184#define EVSIOSWFI "Evs_SetWaitFrameInterval"
185#define EVSIOSWFI_SIZEEVS_PACKED_TIME_SIZE
186
187#define EVSIOCWINFO"Evs_CurrentWaitCursorInfo"
188#define EVSIOCWINFO_THRESH0
189#define EVSIOCWINFO_SUSTAIN(EVSIOCWINFO_THRESH + EVS_PACKED_TIME_SIZE)
190#define EVSIOCWINFO_FINTERVAL(EVSIOCWINFO_SUSTAIN + EVS_PACKED_TIME_SIZE)
191#define EVSIOCWINFO_SIZE(EVSIOCWINFO_FINTERVAL + EVS_PACKED_TIME_SIZE)
192#endif
193
194#define EVS_PACKED_TIME_SIZE (sizeof(UInt64) / sizeof( unsigned int))
195
196/* Device control ioctls. Levels specified may be in the range 0 - 64. */
197
198#define EVSIOSB kIOHIDBrightnessKey
199#define EVSIOSB_SIZE1
200
201#define EVSIOSADB kIOHIDAutoDimBrightnessKey
202#define EVSIOSADB_SIZE1
203
204#ifdef _undef
205#define EVSIOSA "Evs_SetAttenuation"
206#define EVIOSA_SIZE1
207
208#define EVSIO_DCTLINFO"Evs_DeviceControlInfo"
209typedef enum {
210EVSIO_DCTLINFO_BRIGHT,
211EVSIO_DCTLINFO_ATTEN,
212EVSIO_DCTLINFO_AUTODIMBRIGHT
213} evsio_DCTLINFOIndices;
214#define EVSIO_DCTLINFO_SIZE(EVSIO_DCTLINFO_AUTODIMBRIGHT + 1)
215#endif
216
217/*
218 * Device status request
219 */
220#defineEVSIOINFO NX_EVS_DEVICE_INFO
221
222
223/* Keyboard-related ioctls - implemented within Event Sources */
224
225#define EVSIOSKR kIOHIDKeyRepeatKey
226#define EVSIOSKR_SIZEEVS_PACKED_TIME_SIZE
227
228#define EVSIOSIKR kIOHIDInitialKeyRepeatKey
229#define EVSIOSIKR_SIZEEVS_PACKED_TIME_SIZE
230
231#define EVSIORKBD kIOHIDResetKeyboardKey
232#define EVSIORKBD_SIZE1
233
234#define EVSIOCKR_SIZEEVS_PACKED_TIME_SIZE
235
236#defineEVSIOCKML kIOHIDKeyMappingKey
237#define EVSIOCKML_SIZE1
238
239/* The following two tokens are for use with the get/set character routines. */
240#define EVSIOSKM kIOHIDKeyMappingKey
241#define EVSIOSKM_SIZE4096
242
243#defineEVSIOCKM kIOHIDKeyMappingKey
244#define EVSIOCKM_SIZE4096
245
246/* Mouse-related ioctls - implemented within Event Sources */
247
248#defineEVSIOSMS kIOHIDPointerAccelerationKey
249#defineEVSIOSMS_SIZE(1)
250
251#defineEVSIOCMS kIOHIDPointerAccelerationKey
252#defineEVSIOCMS_SIZE(1)
253
254#ifdef _undef
255#define EVSIOSMH "Evs_SetMouseHandedness"
256#define EVSIOSMH_SIZE1// value from NXMouseButton enum
257
258#define EVSIOCMH "Evs_CurrentMouseHandedness"
259#define EVSIOCMH_SIZE1
260#endif
261
262/* Generic pointer device controls, implemented by the Event Driver. */
263#defineEVSIOSCT kIOHIDClickTimeKey
264#define EVSIOSCT_SIZEEVS_PACKED_TIME_SIZE
265
266#defineEVSIOSCS kIOHIDClickSpaceKey
267typedef enum {
268EVSIOSCS_X,
269EVSIOSCS_Y
270} evsioEVSIOSCSIndices;
271#define EVSIOSCS_SIZE(EVSIOSCS_Y + 1)
272
273#define EVSIOSADT kIOHIDAutoDimThresholdKey
274#define EVSIOSADT_SIZEEVS_PACKED_TIME_SIZE
275
276#define EVSIOSADS kIOHIDAutoDimStateKey
277#define EVSIOSADS_SIZE1
278
279#define EVSIORMS kIOHIDResetPointerKey
280#define EVSIORMS_SIZE1
281
282#defineEVSIOCCT kIOHIDClickTimeKey
283#define EVSIOCCT_SIZEEVS_PACKED_TIME_SIZE
284
285#define EVSIOCADT kIOHIDAutoDimThresholdKey
286#define EVSIOCADT_SIZEEVS_PACKED_TIME_SIZE
287
288#define EVSIOGDADT kIOHIDAutoDimTimeKey
289#define EVSIOGDADT_SIZEEVS_PACKED_TIME_SIZE
290
291#define EVSIOIDLE kIOHIDIdleTimeKey
292#define EVSIOIDLE_SIZEEVS_PACKED_TIME_SIZE
293
294#defineEVSIOCCS kIOHIDClickSpaceKey
295typedef enum {
296EVSIOCCS_X,
297EVSIOCCS_Y
298} evsioEVSIOCCSIndices;
299#define EVSIOCCS_SIZE(EVSIOCCS_Y + 1)
300
301#define EVSIOCADS kIOHIDAutoDimStateKey
302#define EVSIOCADS_SIZE1
303
304enum {
305 // Selectors for IOHIDGetModifierLockState and IOHIDSetModifierLockState
306 kIOHIDCapsLockState = 0x00000001,
307 kIOHIDNumLockState = 0x00000002,
308};
309
310#endif /* !_DEV_EVSIO_H */
311

Archive Download this file

Revision: 1621