ps2constants.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 88 行

JAVA
88
字号
/*
 * $Id: PS2Constants.java,v 1.3 2003/12/20 18:54:56 epr Exp $
 */
package org.jnode.driver.ps2;

/**
 * @author qades
 */
public interface PS2Constants {

	String PS2_KEYBOARD_DEV = "ps2keyboard";
	String PS2_POINTER_DEV = "ps2mouse";

	int KB_IRQ = 1;
	int MOUSE_IRQ = 12;

	int PS2_DATA_PORT = 0x60;
	int PS2_CTRL_PORT = 0x64;
	int PS2_STAT_PORT = 0x64;

	/*
	 * Controller Commands
	 */
	int CCMD_READ_MODE = 0x20; /* Read mode bits */
	int CCMD_WRITE_MODE = 0x60; /* Write mode bits */
	int CCMD_GET_VERSION = 0xA1; /* Get controller version */
	int CCMD_MOUSE_DISABLE = 0xA7; /* Disable mouse interface */
	int CCMD_MOUSE_ENABLE = 0xA8; /* Enable mouse interface */
	int CCMD_TEST_MOUSE = 0xA9; /* Mouse interface test */
	int CCMD_SELF_TEST = 0xAA; /* Controller self test */
	int CCMD_KB_TEST = 0xAB; /* Keyboard interface test */
	int CCMD_KB_DISABLE = 0xAD; /* Keyboard interface disable */
	int CCMD_KB_ENABLE = 0xAE; /* Keyboard interface enable */
	int CCMD_WRITE_AUX_OBUF = 0xD3; /* Write to output buffer as if
						initiated by the auxiliary device */
	int CCMD_WRITE_MOUSE = 0xD4; /* Write the following byte to the mouse */

	/*
	 *	Status Register Bits
	 */

	int STAT_OBF = 0x01; /* Keyboard output buffer full */
	int STAT_IBF = 0x02; /* Keyboard input buffer full */
	int STAT_SELFTEST = 0x04; /* Self test successful */
	int STAT_CMD = 0x08; /* Last write was a command write (0=data) */
	int STAT_UNLOCKED = 0x10; /* Zero if keyboard locked */
	int STAT_MOUSE_OBF = 0x20; /* Mouse output buffer full */
	int STAT_GTO = 0x40; /* General receive/xmit timeout */
	int STAT_PERR = 0x80; /* Parity error */

	int AUX_STAT_OBF = (STAT_OBF | STAT_MOUSE_OBF);

	/*
	 *	Controller Mode Register Bits
	 */

	int MODE_INT = 0x01; /* Keyboard data generate IRQ1 */
	int MODE_MOUSE_INT = 0x02; /* Mouse data generate IRQ12 */
	int MODE_SYS = 0x04; /* The system flag (?) */
	int MODE_NO_KEYLOCK = 0x08; /* The keylock doesn't affect the keyboard if set */
	int MODE_DISABLE_KBD = 0x10; /* Disable keyboard interface */
	int MODE_DISABLE_MOUSE = 0x20; /* Disable mouse interface */
	int MODE_KCC = 0x40; /* Scan code conversion to PC format */
	int MODE_RFU = 0x80;
	
	int MODE_DEFAULT = MODE_INT | MODE_MOUSE_INT | MODE_SYS | MODE_KCC;

	/*
	 * Device commands
	 */
	int CMD_GET_ID = 0xF2; /* Get the device ID */
	int CMD_SET_RATE = 0xF3; /* Set device rate */
	int CMD_ENABLE = 0xF4; /* Enable scanning */
	int CMD_DISABLE = 0xF5; /* Disable scanning */
	int CMD_RESET = 0xFF; /* Reset */

	/*
	 *	Device Replies
	 */

	int REPLY_POR = 0xAA; /* Power on reset */
	int REPLY_ACK = 0xFA; /* Command ACK */
	int REPLY_RESEND = 0xFE; /* Command NACK, send the cmd again */
	
	int COMMAND_TIMEOUT = 750;

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?