|
|
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.