|
|
1.1 root 1: #ifndef _APPLEADBBUTTONS_H
2: #define _APPLEADBBUTTONS_H
3:
4: /*
5: * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
6: *
7: * @APPLE_LICENSE_HEADER_START@
8: *
9: * The contents of this file constitute Original Code as defined in and
10: * are subject to the Apple Public Source License Version 1.1 (the
11: * "License"). You may not use this file except in compliance with the
12: * License. Please obtain a copy of the License at
13: * http://www.apple.com/publicsource and read it before using this file.
14: *
15: * This Original Code and all software distributed under the License are
16: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
17: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
18: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
19: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
20: * License for the specific language governing rights and limitations
21: * under the License.
22: *
23: * @APPLE_LICENSE_HEADER_END@
24: */
25:
26: #include <IOKit/hidsystem/IOHIKeyboard.h>
27: #include <IOKit/adb/IOADBDevice.h>
28:
29: #define kVolume_up 0x06
30: #define kVolume_down 0x07
31: #define kMute 0x08
32: #define kBrightness_up 0x09
33: #define kBrightness_down 0x0a
34:
35: #define kMax_registrations 10
36: #define kMax_keycode 0x0a
37: #define kNullKey 0xFF
38:
39: typedef void (*button_handler)(void * );
40:
41: class AppleADBButtons : public IOHIKeyboard
42: {
43: OSDeclareDefaultStructors(AppleADBButtons)
44:
45: private:
46:
47: unsigned int keycodes[kMax_registrations];
48: void * registrants[kMax_registrations];
49: button_handler downHandlers[kMax_registrations];
50:
51: void dispatchButtonEvent (unsigned int, bool );
52: const unsigned char * defaultKeymapOfLength (UInt32 * length );
53: UInt32 interfaceID();
54: UInt32 deviceType();
55:
56: public:
57:
58: IOService * displayManager; // points to display manager
59: IOADBDevice * adbDevice;
60:
61: bool start ( IOService * theNub );
62: IOReturn packet (UInt8 * data, IOByteCount length, UInt8 adbCommand );
63: IOReturn registerForButton ( unsigned int, IOService *, button_handler, bool );
64:
65: IOReturn setParamProperties(OSDictionary *dict);
66: };
67:
68: #endif /* _APPLEADBBUTTONS_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.