예제 #1
0
 public override void Init()
 {
     buffer = new CircularBuffer(32);
     states = new byte[255];
     for (int i = 0; i < 255; i++)
     {
         states[i] = 0;
     }
     ISR.SetIntHandler(1, Handler);
 }
예제 #2
0
 public PS2Keyboard(PCIDevice host) : base(host)
 {
     Label  = "PS2 Keyboard";
     buffer = new CircularBuffer(32);
     states = new byte[255];
     for (int i = 0; i < 255; i++)
     {
         states[i] = 0;
     }
     ISR.SetIntHandler(1, Handler);
 }
예제 #3
0
        public override void Init()
        {
            WaitSignal();
            IOPort.outb(p64, 0xA8);
            WaitSignal();
            IOPort.outb(p64, 0x20);
            WaitData();
            byte status = (byte)(IOPort.inb(p60) | 2);

            WaitSignal();
            IOPort.outb(p64, 0x60);
            WaitSignal();
            IOPort.outb(p60, status);
            Write(0xF6);
            Read();
            Write(0xF4);
            Read();
            ISR.SetIntHandler(12, HandleMouse);
        }
예제 #4
0
        public PS2Mouse(PCIDevice host) : base(host)
        {
            Label = "PS2 Mouse";
            WaitSignal();
            IOPort.outb(p64, 0xA8);
            WaitSignal();
            IOPort.outb(p64, 0x20);
            WaitData();
            byte status = (byte)(IOPort.inb(p60) | 2);

            WaitSignal();
            IOPort.outb(p64, 0x60);
            WaitSignal();
            IOPort.outb(p60, status);
            Write(0xF6);
            Read();
            Write(0xF4);
            Read();
            ISR.SetIntHandler(12, HandleMouse);
        }