mode_lizard.h 1.0 KB

1234567891011121314151617
  1. // mode_lizard.h -- configurable lizard (desktop) keyboard+mouse mode.
  2. //
  3. // Not a standalone IController: lizard rides ON the puck interface (puck_hid.cpp calls rfLizard
  4. // when Steam is closed or in MODE_LIZARD), driving mouse(0x40)+keyboard(0x41)+consumer(0x03) on
  5. // the same puck HID slot. The mapping table g_lizardMap (lizard_map.h) drives all outputs; the
  6. // default map mirrors the original hardcoded Valve SC1 behavior. Mouse reuses the Xbox-mode
  7. // velocity+friction+sub-pixel glide model (g_mDiv / g_mFric).
  8. #pragma once
  9. #include <Adafruit_TinyUSB.h>
  10. #include <stdint.h>
  11. // Drives the desktop mouse/keyboard from the binding table. Merges input from ALL bonded controllers
  12. // (g_in[s] for every used slot) onto the one shared mouse/keyboard -- a controller on any RF slot
  13. // contributes, and multiple controllers drive the same cursor/keys together. mdev/kdev may be the same
  14. // object (puck mode sends both reports to hid[0]).
  15. void rfLizard(Adafruit_USBD_HID *mdev, Adafruit_USBD_HID *kdev, uint8_t mrid,
  16. uint8_t krid);