From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- private/ntos/fw/ppc/kbdmouse.h | 149 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 private/ntos/fw/ppc/kbdmouse.h (limited to 'private/ntos/fw/ppc/kbdmouse.h') diff --git a/private/ntos/fw/ppc/kbdmouse.h b/private/ntos/fw/ppc/kbdmouse.h new file mode 100644 index 000000000..b22543d77 --- /dev/null +++ b/private/ntos/fw/ppc/kbdmouse.h @@ -0,0 +1,149 @@ +/*++ + +Copyright (c) 1990 Microsoft Corporation + +Module Name: + + Kbdmouse.h + +Abstract: + + This module contains definitions for the keyboard controller + in the jazz system. + + It supports Mouse and Keyboard. + +Author: + + Lluis Abello (lluis) 11-Jul-1990 + +Environment: + + +Revision History: + +--*/ + +#ifndef _KBDMOUSE_ +#define _KBDMOUSE_ +// +// Keyboard Controller Commands +// +#define KBD_CTR_WRITE_COMMAND 0x60 +#define KBD_CTR_READ_COMMAND 0x20 +#define KBD_CTR_TEST_PASSWORD 0xA4 +#define KBD_CTR_LOAD_PASSWORD 0xA5 +#define KBD_CTR_ENABLE_PASSWORD 0xA6 +#define KBD_CTR_DISABLE_AUX 0xA7 +#define KBD_CTR_ENABLE_AUX 0xA8 +#define KBD_CTR_AUXLINES_TEST 0xA9 +#define KBD_CTR_SELFTEST 0xAA +#define KBD_CTR_KBDLINES_TEST 0xAB +#define KBD_CTR_ENABLE_KBD 0xAE +#define KBD_CTR_WRITE_AUX 0xD4 + +// +// Keyboard Controller Data +// +#define Kbd_Ctr_Selftest_Passed 0x55 +#define Kbd_Ctr_Password_Installed 0xFA +#define Kbd_Ctr_Password_Not_Installed 0xF1 + +// +// Controller Command Byte bit definitions. +// +#define KbdCommandByteDisableAux (1 << 5) +#define KbdCommandByteDisableKbd (1 << 4) +#define KbdCommandEnableAuxInt (1 << 1) +#define KbdCommandEnableKbdInt (1 << 0) + +// +// Keyboard Controller Status byte masks +// +#define KBD_OBF_MASK 0x1 // Output buffer full +#define KBD_IBF_MASK 0x2 // Input buffer full +#define KBD_FROM_AUX_MASK 0x20 // Byte from Aux Port. + +// +// Interface Test Results +// +#define INTERFACE_NO_ERROR 0x00 +#define CLOCK_STUCK_LOW 0x01 +#define CLOCK_STUCK_HIGH 0x02 +#define DATA_STUCK_LOW 0x03 +#define DATA_STUCK_HIGH 0x04 + +// +// Timeout +// +#define KBD_TIMEOUT 0xFFFFF +#define KBD_INT_TIMEOUT 0xFFFF + +// +// Keyboard Commands +// +#define KbdEcho 0xee // request keyboard to return echo response "EE" +#define KbdSelScanCode 0xf0 // Scan codes 1,2,3 or 0 = rquest current. +#define KbdReadID 0xf2 // Request for two byte response +#define KbdSetRate 0xf3 // Set tellematic Rate +#define KbdEnable 0xF4 // Clears Buffer and Starts Scanning. +#define KbdDisable 0xF5 // reset to power up + +#define KbdSetDefault 0xf6 // +#define KbdSetAllTlmtic 0xf7 // Set all keys telematic +#define KbdSetAllMkBr 0xf8 // Set all keys Make /Break +#define KbdSetAllMake 0xf9 // Set all keys Make only +#define KbdSetKeyTlmtic 0xfb // Set individual key telemativ +#define KbdSetKeyMkBr 0xfc // set individual key make/break +#define KbdSetKeyMk 0xfd // set individual key make only +#define KbdResend 0xfe // request to resend last transfer +#define KbdReset 0xff // request to start a program reset +#define KbdAck 0xfa // keyboard ack after reset +#define KbdBat 0xAA // Keyboard Bat completion Response + +// +// Define scan codes. +// + +#define KEY_LEFT_SHIFT 0x2A +#define KEY_RIGHT_SHIFT 0X36 +#define KEY_CAPS_LOCK 0X3A +#define KEY_CONTROL 0X1D +#define KEY_ALT 0X38 +#define KEY_UP_ARROW 0X48 +#define KEY_DOWN_ARROW 0X50 +#define KEY_LEFT_ARROW 0X4B +#define KEY_RIGHT_ARROW 0X4D +#define KEY_HOME 0X47 +#define KEY_END 0X4F +#define KEY_INSERT 0X52 +#define KEY_DELETE 0X53 +#define KEY_SYS_REQUEST 0X54 +#define KEY_PRINT_SCREEN 0x37 +#define KEY_ESC 0x01 +#define KEY_PAGE_UP 0x49 +#define KEY_PAGE_DOWN 0x51 +#define KEY_F1 0x3B +#define KEY_F2 0x3C +#define KEY_F3 0x3D +#define KEY_F4 0x3E +#define KEY_F5 0x3F +#define KEY_F6 0x40 +#define KEY_F7 0x41 +#define KEY_F8 0x42 +#define KEY_F9 0x43 +#define KEY_F10 0x44 +#define KEY_F11 0x57 +#define KEY_F12 0x58 + + +// +// Define Keyboard controller register offsets. +// Status (read) and Command (write) are the same register. +// + +#define KbdDataReg 0x0 +#define KbdStatusReg 0x1 +#define KbdCommandReg 0x1 + +#endif //_KBDMOUSE_ -- cgit v1.2.3