summaryrefslogtreecommitdiff
path: root/driver/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'driver/keyboard.c')
-rw-r--r--driver/keyboard.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/driver/keyboard.c b/driver/keyboard.c
index 2352532..90a18c9 100644
--- a/driver/keyboard.c
+++ b/driver/keyboard.c
@@ -18,11 +18,17 @@ static void put(uint8_t c)
{
uint16_t dat[]={
0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x52,0x5,0x50a,0x00,0x02,0x02,0x08,0x06,0x00,
- 0x01,0x08,0x00,0x06,0x04,0x00,0x01,0x52,0x5,0x50a,0x00,0x02,0x02,0x0a,0x00,0x02};
+ 0x01,0x08,0x00,0x06,0x04,0x00,0x01,0x52,0x5,0x50a,0x00,0x02,0x02,0x0a,0x00,0x02,
+ 0x00,0xff,0xff,0xff,0xff,0xff,0xff,0x52,0x5,0x50a,0x00,0x02,0x02,0x08,0x06,0x00,
+ 0x01,0x08,0x00,0x06,0x04,0x00,0x01,0x52,0x5,0x50a,0x00,0x02,0x02,0x0a,0x00,0x02
+ };
+
+ if(c=='p')e1000_sendPacket(dat,64); // packet
+ if(c=='s')e1000_init(0); // start
+ if(c=='i')e1000_irq(11); // interrupt
+ if(c=='u')e1000_linkup(); // up
+ if(c=='d')e1000_linkdown(); // down
- if(c=='y')e1000_sendPacket(dat,32);
- if(c=='x')e1000_init(0);
- if(c=='i')e1000_irq(11);
syscall_generic(SYSCALL_WRITE,kb_stream, (char *)&c , 1, 0);
}