|
|
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: #ifdef DRIVER_PRIVATE ! 26: ! 27: // Ports used to control the PS/2 keyboard/mouse and read data from it ! 28: #define K_RDWR 0x60 // keyboard data & cmds (read/write) ! 29: #define K_STATUS 0x64 // keybd status (read-only) ! 30: #define K_CMD 0x64 // keybd ctlr command (write-only) ! 31: ! 32: // ! 33: // Bit definitions for K_STATUS port. ! 34: // ! 35: #define K_OBUF_FUL 0x01 // output (from keybd) buffer full ! 36: #define K_IBUF_FUL 0x02 // input (to keybd) buffer full ! 37: #define K_SYSFLAG 0x04 // "System Flag" ! 38: #define K_CMD_DATA 0x08 // 1 = input buf has cmd, 0 = data ! 39: #define K_KBD_INHBT 0x10 // 0 if keyboard inhibited ! 40: #define M_OBUF_FUL 0x20 // mouse data available ! 41: ! 42: // ! 43: // Keyboard controller commands (sent to K_CMD port). ! 44: // ! 45: #define KC_CMD_READ 0x20 // read controller command byte ! 46: #define KC_CMD_WRITE 0x60 // write controller command byte ! 47: #define KC_CMD_TEST 0xab // test interface ! 48: #define KC_CMD_DUMP 0xac // diagnostic dump ! 49: #define KC_CMD_DISBLE 0xad // disable keyboard ! 50: #define KC_CMD_ENBLE 0xae // enable keyboard ! 51: #define KC_CMD_RDKBD 0xc4 // read keyboard ID ! 52: #define KC_CMD_MOUSE 0xd4 // send next data to mouse ! 53: #define KC_CMD_ECHO 0xee // used for diagnostic testing ! 54: #define KC_REBOOT 0xfe // cause a reboot to occur ! 55: // ! 56: // Keyboard/mouse commands (send to K_RDWR). ! 57: // ! 58: #define K_CMD_LEDS 0xed // set status LEDs (caps lock, etc.) ! 59: #define M_CMD_SETRES 0xe8 // set mouse resolution to 2**N/mm ! 60: #define M_CMD_SAMPLING 0xf3 // set mouse sampling rate ! 61: #define M_CMD_POLL 0xf4 // enable mouse polling ! 62: ! 63: // ! 64: // Bit definitions for controller command byte (sent following ! 65: // K_CMD_WRITE command). ! 66: // ! 67: #define K_CB_ENBLIRQ 0x01 // enable data-ready intrpt ! 68: #define M_CB_ENBLIRQ 0x02 // enable data-ready intrpt ! 69: #define K_CB_SETSYSF 0x04 // Set System Flag ! 70: #define K_CB_INHBOVR 0x08 // Inhibit Override ! 71: #define K_CB_DISBLE 0x10 // disable keyboard ! 72: #define M_CB_DISBLE 0x20 // disable mouse ! 73: #define K_CB_TRANSLATE 0x40 // keyboard translate mode ! 74: ! 75: // ! 76: // Bit definitions for "Indicator Status Byte" (sent after a ! 77: // K_CMD_LEDS command). If the bit is on, the LED is on. Undefined ! 78: // bit positions must be 0. ! 79: // ! 80: #define K_LED_SCRLLK 0x1 // scroll lock ! 81: #define K_LED_NUMLK 0x2 // num lock ! 82: #define K_LED_CAPSLK 0x4 // caps lock ! 83: ! 84: // ! 85: // Special Codes: These codes do not represent actual keys. theyare generated ! 86: // under special circumstances to indicate some sort of status. ! 87: // ! 88: #define K_UP 0x80 // OR'd in if key below is released ! 89: #define K_EXTEND 0xe0 // marker for "extended" sequence ! 90: #define K_PAUSE 0xe1 // marker for pause key sequence ! 91: #define K_ACKSC 0xfa // ack for keyboard command ! 92: #define K_RESEND 0xfe // request to resend keybd cmd ! 93: ! 94: #define K_DATA_DELAY 7 // usec to delay before data is valid ! 95: ! 96: #endif /* DRIVER_PRIVATE */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.