]> git.saurik.com Git - apple/xnu.git/blob - iokit/include/drivers/event_status_driver.h
xnu-344.34.tar.gz
[apple/xnu.git] / iokit / include / drivers / event_status_driver.h
1 /*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
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.
11 *
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
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22 /******************************************************************************
23 event_status_driver.h
24 API for the events status driver.
25 This file contains public API.
26 mpaque 11Oct91
27
28 Copyright 1991 NeXT Computer, Inc.
29
30 Modified:
31
32 ******************************************************************************/
33
34 #ifndef _DRIVERS_EVENT_STATUS_DRIVER_
35 #define _DRIVERS_EVENT_STATUS_DRIVER_
36
37 #ifdef __cplusplus
38 extern "C" {
39 #endif
40
41 #include <mach/port.h>
42 #include <IOKit/hidsystem/IOLLEvent.h>
43 #include <IOKit/hidsystem/IOHIDTypes.h>
44
45
46 /*
47 * Event System Handle:
48 *
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.
52 */
53 typedef mach_port_t NXEventHandle;
54
55 /* Open and Close */
56 NXEventHandle NXOpenEventStatus(void);
57 void NXCloseEventStatus(NXEventHandle handle);
58
59 /* Status */
60 extern NXEventSystemInfoType NXEventSystemInfo(NXEventHandle handle,
61 char *flavor,
62 int *evs_info,
63 unsigned int *evs_info_cnt);
64 /* Keyboard */
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);
73
74 /* Mouse */
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);
81 #ifdef _undef
82 extern void NXEnableMouseButton(NXEventHandle handle, NXMouseButton button);
83 extern NXMouseButton NXMouseButtonEnabled(NXEventHandle handle);
84 #endif
85 extern void NXResetMouse(NXEventHandle handle);
86
87 /* Screen Brightness and Auto-dimming */
88
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);
99
100 /* Speaker Volume */
101 #ifdef _undef
102 extern void NXSetCurrentVolume(NXEventHandle handle, double volume);
103 extern double NXCurrentVolume(NXEventHandle handle);
104 #endif
105
106 /* Wait Cursor */
107 #ifdef _undef
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);
114 #endif
115
116 /*
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.
121 */
122 #ifdef _undef
123 extern int NXEvSetParameterInt(NXEventHandle handle,
124 char *parameterName,
125 unsigned int *parameterArray,
126 unsigned int count);
127
128 extern int NXEvSetParameterChar(NXEventHandle handle,
129 char *parameterName,
130 unsigned char *parameterArray,
131 unsigned int count);
132
133 extern int NXEvGetParameterInt(NXEventHandle handle,
134 char *parameterName,
135 unsigned int maxCount,
136 unsigned int *parameterArray,
137 unsigned int *returnedCount);
138
139 extern int NXEvGetParameterChar(NXEventHandle handle,
140 char *parameterName,
141 unsigned int maxCount,
142 unsigned char *parameterArray,
143 unsigned int *returnedCount);
144 #endif
145
146 #ifdef __cplusplus
147 } /* extern "C" */
148 #endif
149
150 #endif /*_DRIVERS_EVENT_STATUS_DRIVER_ */
151