alps.txt 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. ALPS Touchpad Protocol
  2. ----------------------
  3. Introduction
  4. ------------
  5. Currently the ALPS touchpad driver supports two protocol versions in use by
  6. ALPS touchpads, the "old" and "new" protocol versions. Fundamentally these
  7. differ only in the format of their event packets (in reality many features may
  8. be found on new protocol devices that aren't found on the old protocol
  9. devices, but these are handled transparently as feature differences rather
  10. than protocol differences).
  11. Detection
  12. ---------
  13. All ALPS touchpads should respond to the "E6 report" command sequence:
  14. E8-E6-E6-E6-E9. An ALPS touchpad should respond with either 00-00-0A or
  15. 00-00-64.
  16. If the E6 report is successful, the touchpad model is identified using the "E7
  17. report" sequence: E8-E7-E7-E7-E9. The response is the model signature and is
  18. matched against known models in the alps_model_data_array.
  19. Packet Format
  20. -------------
  21. In the following tables, the following notation us used.
  22. CAPITALS = stick, miniscules = touchpad
  23. ?'s can have different meanings on different models, such as wheel rotation,
  24. extra buttons, stick buttons on a dualpoint, etc.
  25. PS/2 packet format
  26. ------------------
  27. byte 0: 0 0 YSGN XSGN 1 M R L
  28. byte 1: X7 X6 X5 X4 X3 X2 X1 X0
  29. byte 2: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
  30. Note that the device never signals overflow condition.
  31. ALPS Absolute Mode - Old Format
  32. -------------------------------
  33. byte 0: 1 0 0 0 1 x9 x8 x7
  34. byte 1: 0 x6 x5 x4 x3 x2 x1 x0
  35. byte 2: 0 ? ? l r ? fin ges
  36. byte 3: 0 ? ? ? ? y9 y8 y7
  37. byte 4: 0 y6 y5 y4 y3 y2 y1 y0
  38. byte 5: 0 z6 z5 z4 z3 z2 z1 z0
  39. ALPS Absolute Mode - New Format
  40. -------------------------------
  41. byte 0: 1 ? ? ? 1 ? ? ?
  42. byte 1: 0 x6 x5 x4 x3 x2 x1 x0
  43. byte 2: 0 x10 x9 x8 x7 ? fin ges
  44. byte 3: 0 y9 y8 y7 1 M R L
  45. byte 4: 0 y6 y5 y4 y3 y2 y1 y0
  46. byte 5: 0 z6 z5 z4 z3 z2 z1 z0
  47. Dualpoint device -- interleaved packet format
  48. ---------------------------------------------
  49. byte 0: 1 1 0 0 1 1 1 1
  50. byte 1: 0 x6 x5 x4 x3 x2 x1 x0
  51. byte 2: 0 x10 x9 x8 x7 0 fin ges
  52. byte 3: 0 0 YSGN XSGN 1 1 1 1
  53. byte 4: X7 X6 X5 X4 X3 X2 X1 X0
  54. byte 5: Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
  55. byte 6: 0 y9 y8 y7 1 m r l
  56. byte 7: 0 y6 y5 y4 y3 y2 y1 y0
  57. byte 8: 0 z6 z5 z4 z3 z2 z1 z0