sc-controller icon indicating copy to clipboard operation
sc-controller copied to clipboard

SC detection and configuration BT driver

Open pattontim opened this issue 1 year ago • 1 comments

Addresses #678 with addition of a driver for detection, configuration and input handling of BT steam controller. As of right now, the following things need squaring off:

  • Ensure changes to device detection don't interfere with other wired controllers detection. I don't understand the system entirely and don't have wired controllers so can only do limited testinq. Feedback appreciated.
  • Test on Linux. This should work as expected since I assume there's no ephem bit. I will test this an open for review

Next steps:

  • Add haptic feedback to BT controller
  • Add controller turnoff handling #700
  • Utilize timeslicing as in the python version for inputs. Some radio interfaces (such as Steam Deck win drivers) may malform or handle packets out of order
  • Enable gyro functionality. Spam inputs from previous are entirely eliminated when gyro disabled.

pattontim avatar Mar 23 '23 20:03 pattontim

Possible breaking changes

sccd_input_hidapi_hid_request(InputDevice* _dev, uint16_t idx sccd_input_hidapi_hid_request(InputDevice* _dev, int16_t idx

I don't entirely recall why, but windows didn't like that it was a uint.

It seems like if I can test on linux and the SC + WIRED + DECK, the change isn't breaking if hid_request is only used by steam controllers.


changes in sccd_input_hidapi_open:

shouldn't affect generic devices, needs to be tested with generic devices. Used to tag a SC to handle a bluetooth quirk

pattontim avatar Mar 23 '23 21:03 pattontim