Next Previous Contents

1. PS/2 Protocol

If you switch from Windows to Linux the touch panel reports the positions in absolute coordinates. So I figured out the protocol. Then I disassembled the windows driver to get the init sequence.

1.1 Initialization


   write_ack(fd, 0xe6);
   write_ack(fd, 0xf3);
   write_ack(fd, 0x28);
   
   write_ack(fd, 0xe8);
   write_ack(fd, 0x3);
  
   write_ack(fd, 0xe8); 
   write_ack(fd, 0x7);

   write_ack(fd, 0xf4);
   write_ack(fd, 0xf4);
   write_ack(fd, 0xf4);

1.2 Position reporting


Byte 0
------
Bit 0: - 
Bit 1: - 
Bit 2: if set, pen is pressed on the screen 
Bit 3: if not set, report comes from the pen 
Bit 4: Bit 8 of x 
Bit 5: Bit 9 of x 
Bit 6: Bit 8 of y 
Bit 7: Bit 9 of y 

Byte 1 
------
Bit 0 - 7 of the x coordinate 

Byte 2 
------
Bit 0 - 7 of the y coordinate

Coordinates

(0, 0) is on the left bottom.


Next Previous Contents