|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. ! 3: * ! 4: * @APPLE_LICENSE_HEADER_START@ ! 5: * ! 6: * Portions Copyright (c) 1999 Apple Computer, Inc. All Rights ! 7: * Reserved. This file contains Original Code and/or Modifications of ! 8: * Original Code as defined in and that are subject to the Apple Public ! 9: * Source License Version 1.1 (the "License"). You may not use this file ! 10: * except in compliance with the License. Please obtain a copy of the ! 11: * License at http://www.apple.com/publicsource and read it before using ! 12: * this file. ! 13: * ! 14: * The Original Code and all software distributed under the License are ! 15: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER ! 16: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, ! 17: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, ! 18: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the ! 19: * License for the specific language governing rights and limitations ! 20: * under the License. ! 21: * ! 22: * @APPLE_LICENSE_HEADER_END@ ! 23: */ ! 24: ! 25: /* Copyright (c) 1992 NeXT Computer, Inc. All rights reserved. ! 26: * ! 27: * EventSrcPCKeyboard.h - PC Keyboard EventSrc subclass definition ! 28: * ! 29: * HISTORY ! 30: * 28 Aug 1992 Joe Pasqua ! 31: * Created. ! 32: */ ! 33: ! 34: #ifdef DRIVER_PRIVATE ! 35: ! 36: #import <bsd/dev/evsio.h> ! 37: #import <driverkit/IOEventSource.h> ! 38: #import <driverkit/KeyMap.h> ! 39: #import <bsd/dev/ppc/PPCKeyboard.h> ! 40: #import <bsd/dev/ppc/PCKeyboardDefs.h> ! 41: ! 42: ! 43: /* Default key repeat parameters */ ! 44: #define EV_DEFAULTINITIALREPEAT 500000000ULL // 1/2 sec in nanoseconds ! 45: #define EV_DEFAULTKEYREPEAT 125000000ULL // 1/8 sec in nanoseconds ! 46: #define EV_MINKEYREPEAT 16700000ULL // 1/60 sec ! 47: ! 48: @interface EventSrcPCKeyboard : IOEventSource <KeyMapDelegate, PCKeyboardImported> ! 49: { ! 50: @private ! 51: id deviceLock; // Lock for all device access ! 52: id keyMap; // KeyMap instance ! 53: id kbdDevice; // The underlying keyboard object ! 54: BOOL ownDevice; // YES if we own kbdDevice ! 55: ! 56: // The following fields decribe the state of the keyboard ! 57: kbdBitVector keyState; // bit vector of key state ! 58: unsigned eventFlags; // Current eventFlags ! 59: unsigned deviceDependentFlags; // The device dependent flag bits ! 60: BOOL alphaLock; // YES means alpha lock is on ! 61: BOOL charKeyActive; // YES means char gen. key active ! 62: ! 63: // The following fields are used in performing key repeats ! 64: BOOL isRepeat; // YES means we're generating repeat ! 65: int codeToRepeat; // What we are repeating ! 66: BOOL calloutPending; // YES means we've sched. a callout ! 67: ns_time_t lastEventTime; // Time last event was dispatched ! 68: ns_time_t downRepeatTime; // Time when we should next repeat ! 69: ns_time_t keyRepeat; // Delay between key repeats ! 70: ns_time_t initialKeyRepeat; // Delay before initial key repeat ! 71: } ! 72: ! 73: // Methods we are overriding from superclass chain ! 74: + probe; // Our factory method ! 75: - init; ! 76: - free; ! 77: - (IOReturn)getIntValues : (unsigned *)parameterArray ! 78: forParameter : (IOParameterName)parameterName ! 79: count : (unsigned *)count; // in/out ! 80: ! 81: - (IOReturn)getCharValues : (unsigned char *)parameterArray ! 82: forParameter : (IOParameterName)parameterName ! 83: count : (unsigned *)count; // in/out ! 84: ! 85: - (IOReturn)setIntValues : (unsigned *)parameterArray ! 86: forParameter : (IOParameterName)parameterName ! 87: count : (unsigned)count; ! 88: ! 89: - (IOReturn)setCharValues : (unsigned char *)parameterArray ! 90: forParameter : (IOParameterName)parameterName ! 91: count : (unsigned)count; ! 92: ! 93: @end ! 94: ! 95: #endif /* DRIVER_PRIVATE */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.