Skip to content

Instantly share code, notes, and snippets.

@bitcloud
Forked from Lewiscowles1986/README.md
Created November 18, 2023 19:08
Show Gist options
  • Save bitcloud/a1da045b1a5143a7df1c7e20afc66913 to your computer and use it in GitHub Desktop.
Save bitcloud/a1da045b1a5143a7df1c7e20afc66913 to your computer and use it in GitHub Desktop.
Playstation 2 EU USB "The Buzz" controller

"The Buzz" Playstation 2 EU USB controller

Using tool "Simple HID Write"

  • W: Write
  • R: Read
W 00 {FF} 00 00 00 // controller 1 red light activate
W 00 {00} 00 00 00 // controller 1 red light deactivate
W 00 00 {FF} 00 00 // controller 2 red light activate
W 00 00 {00} 00 00 // controller 2 red light deactivate
W 00 00 00 {FF} 00 // controller 3 red light activate
W 00 00 00 {00} 00 // controller 3 red light deactivate
W 00 00 00 00 {FF} // controller 4 red light activate
W 00 00 00 00 {00} // controller 4 red light deactivate

R 7F 7F {00 00 F0} // any controller button release (reports currently pressed buttons)

R 7F 7F {01} 00 F0 // controller 1 red button press
R 7F 7F {10} 00 F0 // controller 1 blue button press
R 7F 7F {08} 00 F0 // controller 1 orange button press
R 7F 7F {04} 00 F0 // controller 1 green button press
R 7F 7F {02} 00 F0 // controller 1 yellow button press

R 7F 7F {20} 00 F0 // controller 2 red button press
R 7F 7F 00 {02} F0 // controller 2 blue button press
R 7F 7F 00 {01} F0 // controller 2 orange button press
R 7F 7F {80} 00 F0 // controller 2 green button press
R 7F 7F {40} 00 F0 // controller 2 yellow button press

R 7F 7F 00 {04} F0 // controller 3 red button press
R 7F 7F 00 {40} F0 // controller 3 blue button press
R 7F 7F 00 {20} F0 // controller 3 orange button press
R 7F 7F 00 {10} F0 // controller 3 green button press
R 7F 7F 00 {08} F0 // controller 3 yellow button press

R 7F 7F 00 80 {F0} // controller 4 red button press
R 7F 7F 00 00 {F8} // controller 4 blue button press
R 7F 7F 00 00 {F4} // controller 4 orange button press
R 7F 7F 00 00 {F2} // controller 4 green button press
R 7F 7F 00 00 {F1} // controller 4 yellow button press

NOTE: All results seem to be flag-sets for buttons so for example combining is a binary OR operation

R 7F 7F {20 80} F0 // controller 2 & controller 4 red button press

R 7F 7F 00 {03} F0 // controller 2 blue & orange button press

R 7F 7F 00 00 {FC} // controller 4 blue & orange button press

R 7F 7F 00 {03 FC} // controller 2 & 4 blue & orange button press

W 00 {FF FF FF FF} // Turn on all red lights for controllers

Also:

  • When multiple buttons are pressed, multiple button release receives are generated (seems to be one-per button)
  • When multiple buttons are pressed, even if simultaneous the hw controller generates one event per button resolving timing issues
  • When multiple reads are detected from multi-press, it's probably a good idea to debounce until presses stop, or register the first and ignore the rest
  • As the controller sends complete state per button press, no need to store state

Device Info

  • VID 054C (hex) 1356 (dec) 2514 (oct)
  • PID 0002 (hex) 0002 (dec) 0002 (oct)
  • REV 1101 (hex) 4353 (dec) 10401 (oct)
  • Vendor name "Logitech"
  • Product name "Logitech Buzz(tm) Controller V1"
  • Serial No ""

Report Size

  • Input 6-Bytes
  • Output 8-Bytes
  • Feature 0-Byte
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment