2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
4 * @APPLE_LICENSE_HEADER_START@
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
20 * @APPLE_LICENSE_HEADER_END@
22 /******************************************************************************
24 API for the events status driver.
25 This file contains public API.
28 Copyright 1991 NeXT Computer, Inc.
32 ******************************************************************************/
34 #ifndef _DRIVERS_EVENT_STATUS_DRIVER_
35 #define _DRIVERS_EVENT_STATUS_DRIVER_
41 #include <mach/port.h>
42 #include <IOKit/hidsystem/IOLLEvent.h>
43 #include <IOKit/hidsystem/IOHIDTypes.h>
47 * Event System Handle:
49 * Information used by the system between calls to NXOpenEventSystem and
50 * NXCloseEventSystem. The application should not
51 * access any of the elements of this structure.
53 typedef mach_port_t NXEventHandle
;
56 NXEventHandle
NXOpenEventStatus(void);
57 void NXCloseEventStatus(NXEventHandle handle
);
60 extern NXEventSystemInfoType
NXEventSystemInfo(NXEventHandle handle
,
63 unsigned int *evs_info_cnt
);
65 extern void NXSetKeyRepeatInterval(NXEventHandle handle
, double seconds
);
66 extern double NXKeyRepeatInterval(NXEventHandle handle
);
67 extern void NXSetKeyRepeatThreshold(NXEventHandle handle
, double threshold
);
68 extern double NXKeyRepeatThreshold(NXEventHandle handle
);
69 extern NXKeyMapping
*NXSetKeyMapping(NXEventHandle h
, NXKeyMapping
*keymap
);
70 extern int NXKeyMappingLength(NXEventHandle handle
);
71 extern NXKeyMapping
*NXGetKeyMapping(NXEventHandle h
, NXKeyMapping
*keymap
);
72 extern void NXResetKeyboard(NXEventHandle handle
);
75 extern void NXSetClickTime(NXEventHandle handle
, double seconds
);
76 extern double NXClickTime(NXEventHandle handle
);
77 extern void NXSetClickSpace(NXEventHandle handle
, _NXSize_
*area
);
78 extern void NXGetClickSpace(NXEventHandle handle
, _NXSize_
*area
);
79 extern void NXSetMouseScaling(NXEventHandle handle
, NXMouseScaling
*scaling
);
80 extern void NXGetMouseScaling(NXEventHandle handle
, NXMouseScaling
*scaling
);
82 extern void NXEnableMouseButton(NXEventHandle handle
, NXMouseButton button
);
83 extern NXMouseButton
NXMouseButtonEnabled(NXEventHandle handle
);
85 extern void NXResetMouse(NXEventHandle handle
);
87 /* Screen Brightness and Auto-dimming */
89 extern void NXSetAutoDimThreshold(NXEventHandle handle
, double seconds
);
90 extern double NXAutoDimThreshold(NXEventHandle handle
);
91 extern double NXAutoDimTime(NXEventHandle handle
);
92 extern double NXIdleTime(NXEventHandle handle
);
93 extern void NXSetAutoDimState(NXEventHandle handle
, boolean_t dimmed
);
94 extern boolean_t
NXAutoDimState(NXEventHandle handle
);
95 extern void NXSetAutoDimBrightness(NXEventHandle handle
, double level
);
96 extern double NXAutoDimBrightness(NXEventHandle handle
);
97 extern void NXSetScreenBrightness(NXEventHandle handle
, double level
);
98 extern double NXScreenBrightness(NXEventHandle handle
);
102 extern void NXSetCurrentVolume(NXEventHandle handle
, double volume
);
103 extern double NXCurrentVolume(NXEventHandle handle
);
108 extern void NXSetWaitCursorThreshold(NXEventHandle handle
, double seconds
);
109 extern double NXWaitCursorThreshold(NXEventHandle handle
);
110 extern void NXSetWaitCursorSustain(NXEventHandle handle
, double seconds
);
111 extern double NXWaitCursorSustain(NXEventHandle handle
);
112 extern void NXSetWaitCursorFrameInterval(NXEventHandle handle
, double seconds
);
113 extern double NXWaitCursorFrameInterval(NXEventHandle handle
);
117 * Generic calls. Argument values are device and architecture dependent.
118 * This API is provided for the convenience of special device users. Code
119 * which is intended to be portable across multiple platforms and architectures
120 * should not use the following functions.
123 extern int NXEvSetParameterInt(NXEventHandle handle
,
125 unsigned int *parameterArray
,
128 extern int NXEvSetParameterChar(NXEventHandle handle
,
130 unsigned char *parameterArray
,
133 extern int NXEvGetParameterInt(NXEventHandle handle
,
135 unsigned int maxCount
,
136 unsigned int *parameterArray
,
137 unsigned int *returnedCount
);
139 extern int NXEvGetParameterChar(NXEventHandle handle
,
141 unsigned int maxCount
,
142 unsigned char *parameterArray
,
143 unsigned int *returnedCount
);
150 #endif /*_DRIVERS_EVENT_STATUS_DRIVER_ */