I have asked myself about PS2 mouse
Here some info about that:
http://www.hut.fi/~then/mytexts/mouse.html
There is some info about PS2 mouse initialization:
http://dev.remo.lt/Files/Dev/Keyboard.html
outportb(KEYB_BUF,0xA8); //init PS2 mouse interface
PS2_DATA[0]=inportb(KEYB_BUF); //do this 23 times in your IRQ12, just PS2_DATA[sould be 0 1 2]
Because you nedd 3 bytes mouse to send.
First byte: bit 0 - LB, bit 1 - RB, bit 5 - x sign bit 4 - y sign
(i'm not sure on bit 5 and 4)
Byte 2: x
Byte 3: y
Thats it