mode_hidgyro.h 785 B

12345678910111213141516171819202122
  1. // mode_hidgyro.h -- generic HID gyro personality (MODE_HIDGYRO): DS4 (054C:05C4) USB report layout + motion.
  2. //
  3. // A standard DS4 descriptor (input report 0x01, 64 B) with gyro/accel at bytes 12-23 (GIMX layout). Aimed at
  4. // motion-aware PC games (e.g. Fortnite) that read the DS4 report directly. Streamed at ~250Hz from task();
  5. // reuses the shared PS-layout button packers + Steam-trackpad touch mapping.
  6. #pragma once
  7. #include "controllers.h"
  8. class HidGyroController : public IController {
  9. public:
  10. void begin() override;
  11. void task() override;
  12. bool dynamicMount() const override
  13. {
  14. return true;
  15. }
  16. uint8_t maxSlots() const override;
  17. void usbIdentity() override;
  18. void beginPool() override;
  19. void mountSlots(uint8_t k) override;
  20. };
  21. extern HidGyroController g_hidGyroCtl;