Keyboard firmwares for Atmel AVR and Cortex-M
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

mouse_report.txt 7.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. /*
  2. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  3. 0x09, 0x02, // USAGE (Mouse)
  4. 0xa1, 0x01, // COLLECTION (Application)
  5. 0x09, 0x02, // USAGE (Mouse)
  6. 0xa1, 0x02, // COLLECTION (Logical)
  7. 0x09, 0x01, // USAGE (Pointer)
  8. 0xa1, 0x00, // COLLECTION (Physical)
  9. // ------------------------------ Buttons
  10. 0x05, 0x09, // USAGE_PAGE (Button)
  11. 0x19, 0x01, // USAGE_MINIMUM (Button 1)
  12. 0x29, 0x05, // USAGE_MAXIMUM (Button 5)
  13. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  14. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  15. 0x75, 0x01, // REPORT_SIZE (1)
  16. 0x95, 0x05, // REPORT_COUNT (5)
  17. 0x81, 0x02, // INPUT (Data,Var,Abs)
  18. // ------------------------------ Padding
  19. 0x75, 0x03, // REPORT_SIZE (3)
  20. 0x95, 0x01, // REPORT_COUNT (1)
  21. 0x81, 0x03, // INPUT (Cnst,Var,Abs)
  22. // ------------------------------ X,Y position
  23. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  24. 0x09, 0x30, // USAGE (X)
  25. 0x09, 0x31, // USAGE (Y)
  26. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  27. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  28. 0x75, 0x08, // REPORT_SIZE (8)
  29. 0x95, 0x02, // REPORT_COUNT (2)
  30. 0x81, 0x06, // INPUT (Data,Var,Rel)
  31. 0xa1, 0x02, // COLLECTION (Logical)
  32. // ------------------------------ Vertical wheel res multiplier
  33. 0x09, 0x48, // USAGE (Resolution Multiplier)
  34. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  35. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  36. 0x35, 0x01, // PHYSICAL_MINIMUM (1)
  37. 0x45, 0x04, // PHYSICAL_MAXIMUM (4)
  38. 0x75, 0x02, // REPORT_SIZE (2)
  39. 0x95, 0x01, // REPORT_COUNT (1)
  40. 0xa4, // PUSH
  41. 0xb1, 0x02, // FEATURE (Data,Var,Abs)
  42. // ------------------------------ Vertical wheel
  43. 0x09, 0x38, // USAGE (Wheel)
  44. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  45. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  46. 0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
  47. 0x45, 0x00, // PHYSICAL_MAXIMUM (0)
  48. 0x75, 0x08, // REPORT_SIZE (8)
  49. 0x81, 0x06, // INPUT (Data,Var,Rel)
  50. 0xc0, // END_COLLECTION
  51. 0xa1, 0x02, // COLLECTION (Logical)
  52. // ------------------------------ Horizontal wheel res multiplier
  53. 0x09, 0x48, // USAGE (Resolution Multiplier)
  54. 0xb4, // POP
  55. 0xb1, 0x02, // FEATURE (Data,Var,Abs)
  56. // ------------------------------ Padding for Feature report
  57. 0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
  58. 0x45, 0x00, // PHYSICAL_MAXIMUM (0)
  59. 0x75, 0x04, // REPORT_SIZE (4)
  60. 0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
  61. // ------------------------------ Horizontal wheel
  62. 0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
  63. 0x0a, 0x38, 0x02, // USAGE (AC Pan)
  64. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  65. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  66. 0x75, 0x08, // REPORT_SIZE (8)
  67. 0x81, 0x06, // INPUT (Data,Var,Rel)
  68. 0xc0, // END_COLLECTION
  69. 0xc0, // END_COLLECTION
  70. 0xc0, // END_COLLECTION
  71. 0xc0 // END_COLLECTION
  72. */
  73. /*
  74. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  75. 0x09, 0x02, // USAGE (Mouse)
  76. 0xa1, 0x01, // COLLECTION (Application)
  77. 0x09, 0x02, // USAGE (Mouse)
  78. 0xa1, 0x02, // COLLECTION (Logical)
  79. 0x09, 0x01, // USAGE (Pointer)
  80. 0xa1, 0x00, // COLLECTION (Physical)
  81. 0x05, 0x09, // USAGE_PAGE (Button)
  82. 0x19, 0x01, // USAGE_MINIMUM (Button 1)
  83. 0x29, 0x05, // USAGE_MAXIMUM (Button 5)
  84. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  85. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  86. 0x75, 0x01, // REPORT_SIZE (1)
  87. 0x95, 0x05, // REPORT_COUNT (5)
  88. 0x81, 0x02, // INPUT (Data,Var,Abs)
  89. 0x75, 0x03, // REPORT_SIZE (3)
  90. 0x95, 0x01, // REPORT_COUNT (1)
  91. 0x81, 0x03, // INPUT (Cnst,Var,Abs)
  92. 0x05, 0x01, // USAGE_PAGE (Generic Desktop)
  93. 0x09, 0x30, // USAGE (X)
  94. 0x09, 0x31, // USAGE (Y)
  95. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  96. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  97. 0x75, 0x08, // REPORT_SIZE (8)
  98. 0x95, 0x02, // REPORT_COUNT (2)
  99. 0x81, 0x06, // INPUT (Data,Var,Rel)
  100. 0xa1, 0x02, // COLLECTION (Logical)
  101. 0x09, 0x48, // USAGE (Resolution Multiplier)
  102. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  103. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  104. 0x35, 0x01, // PHYSICAL_MINIMUM (1)
  105. 0x45, 0x04, // PHYSICAL_MAXIMUM (4)
  106. 0x75, 0x02, // REPORT_SIZE (2)
  107. 0x95, 0x01, // REPORT_COUNT (1)
  108. 0xb1, 0x02, // FEATURE (Data,Var,Abs)
  109. 0x09, 0x38, // USAGE (Wheel)
  110. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  111. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  112. 0x35, 0x00, // PHYSICAL_MINIMUM (0)
  113. 0x45, 0x00, // PHYSICAL_MAXIMUM (0)
  114. 0x75, 0x08, // REPORT_SIZE (8)
  115. 0x81, 0x06, // INPUT (Data,Var,Rel)
  116. 0xc0, // END_COLLECTION
  117. 0xa1, 0x02, // COLLECTION (Logical)
  118. 0x09, 0x48, // USAGE (Resolution Multiplier)
  119. 0x15, 0x00, // LOGICAL_MINIMUM (0)
  120. 0x25, 0x01, // LOGICAL_MAXIMUM (1)
  121. 0x35, 0x01, // PHYSICAL_MINIMUM (1)
  122. 0x45, 0x04, // PHYSICAL_MAXIMUM (4)
  123. 0x75, 0x02, // REPORT_SIZE (2)
  124. 0xb1, 0x02, // FEATURE (Data,Var,Abs)
  125. 0x35, 0x00, // PHYSICAL_MINIMUM (0)
  126. 0x45, 0x00, // PHYSICAL_MAXIMUM (0)
  127. 0x75, 0x04, // REPORT_SIZE (4)
  128. 0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
  129. 0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
  130. 0x0a, 0x38, 0x02, // USAGE (AC Pan)
  131. 0x15, 0x81, // LOGICAL_MINIMUM (-127)
  132. 0x25, 0x7f, // LOGICAL_MAXIMUM (127)
  133. 0x75, 0x08, // REPORT_SIZE (8)
  134. 0x81, 0x06, // INPUT (Data,Var,Rel)
  135. 0xc0, // END_COLLECTION
  136. 0xc0, // END_COLLECTION
  137. 0xc0, // END_COLLECTION
  138. 0xc0 // END_COLLECTION
  139. */