OperationRegion(\GRAM, SystemMemory, 0x00000400, 0x100) Field(\GRAM, ByteAcc, NoLock, Preserve) { Offset(0x10), FLG0, 8, } Device(PS2M) { //PS2 Mouse Device Name(_HID,EISAID("PNP0F13")) //Hardware Device ID Method(_STA,0){ //Status of the PS2 Mouse device And(FLG0,0x04,Local0) if (Lequal(Local0,0x04)) { Return(0x0F) } Else { Return(0x00) } } //end _STA Method(_CRS,0) { //Current Resource Name (BUFM,Buffer() //6*8 { 0x22, //R02 IRQ Descriptor 0x00, //IRQ Mask Lo=bit 3 0x10, 0x79, //end tag 0x00 } ) //checksum byte Return(BUFM) //Return Buf0 } //end _CRS } //end of PS2M Device(PS2K) { //PS2 Keyboard Device Name(_HID,EISAID("PNP0303")) //Hardware Device ID Method(_STA,0) { //Status of the PS2 Keyboard device ENFG() // Config Mode Store(0x05,LDN_) If (ACTR) { EXFG() // Config Mode Return(0x0F) } Else { EXFG() // Config Mode Return(0x00) } } //end _STA Method(_CRS,0){ //Current Resource Name(BUF7,Buffer() { 0x47, // IO port descriptor 0x01, //16 Bit Decode 0x60, //Range min. base low for Keyboard 0x00, //Range min. base high for Keyboard 0x60, //Range max. base low for Keyboard 0x00, //Range max. base high for Keyboard 0x01, //Alignment 0x01, //No. Contiguous ports 0x47, // IO port descriptor 0x01, //16 Bit Decode 0x64, //Range min. base low for Keyboard 0x00, //Range min. base high for Keyboard 0x64, //Range max. base low for Keyboard 0x00, //Range max. base high for Keyboard 0x01, //Alignment 0x01, //No. Contiguous ports 0x22, //IRQ descriptor 0x02, //Low part of IRQ mask 0x00, //High part of IRQ mask 0x79, //end tag 0x00 } ) //Checksum ENFG() // Config Mode Store(0x5,LDN_) //Logical device number for keyboard EXFG() // Config Mode Return(BUF7) //Return Buf7 } //end _CRS } //end of PS2K