How to Receive Raw Input/Send Raw Output From Joystick?

I am trying to fully implement the Dualshock 4 Controller for my game. I am currently testing this on Mac Mojave.

The Steam program can use the led, vibration, and touchpad properly on my computer.

All the buttons and axes work, however, touchpad does not. What I want to do is make haptic feedback and the led colors work for the Dualshock 4.

I am developing my game using the Godot engine which uses SDL. I would like to ask if it is possible to receive raw input from the joystick using SDL and if I am able to send raw output to the joystick.

If possible, how would I implement the missing features for the controller in my game? I can modify Godot’s and SDL’s source if needed (I just don’t know enough about drivers to do it all myself). I can also write c and c++ libraries which I can link to Godot’s Input API. Thanks!

My Sample Program on Github

Comment In Sample Program to Describe Missing/Broken Features in Detail

For Some Reason, SDL Does Not Seem To Work With DS4 on Haptic Feedback!!!
https://discourse.libsdl.org/t/haptic-broken-for-sixad/20890/8

Also, Controller Shows As Dead With SDL!!! The one exception is if it was plugged in with a data cable (marked as Plugged In).
The weird part is, if I unplug it (and it is also connected by Bluetooth), it still says Plugged In.

My Goal Is To Figure Out Rumble and LED Color Changes!!!

There is also the mic, speaker, touchpad capacitive swiping, earphone port, accelerometer, and gyroscope.
Also, there's some kind of extension port next to the earphone port and proper battery level detection.

It appears the external port is used for dock charging and the earphone port can also be used for a keyboard.

Edit: If it helps, the protocols for DS4 Bluetooth - https://.www.psdevwiki.com/ps4/DS4-BT and DS4 USB - https://.www.psdevwiki.com/ps4/DS4-USB. Apparently I can only put two links because I am a new user. These links will still work if copied and pasted (because the root domain is literally a period).