@@ -35,8 +35,10 @@ Help wanted from people that want to use this and have feature requests. Just op
|
|||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
|
|
||||||
|
|
||||||
Most stuff for this implementation were provided by and used from:
|
Most stuff for this implementation were provided by and used from:
|
||||||
|
|
||||||
|
|
||||||
- [https://www.reddit.com/r/gamedev/comments/jumvi5/dualsense_haptics_leds_and_more_hid_output_report/](https://www.reddit.com/r/gamedev/comments/jumvi5/dualsense_haptics_leds_and_more_hid_output_report/)
|
- [https://www.reddit.com/r/gamedev/comments/jumvi5/dualsense_haptics_leds_and_more_hid_output_report/](https://www.reddit.com/r/gamedev/comments/jumvi5/dualsense_haptics_leds_and_more_hid_output_report/)
|
||||||
- [https://github.com/Ryochan7/DS4Windows](https://github.com/Ryochan7/DS4Windows)
|
- [https://github.com/Ryochan7/DS4Windows](https://github.com/Ryochan7/DS4Windows)
|
||||||
|
|
||||||
|
15
examples/README.md
Normal file
15
examples/README.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Examples
|
||||||
|
|
||||||
|
This folder contains some examples on applications for the library and its usage
|
||||||
|
|
||||||
|
## leds.py
|
||||||
|
|
||||||
|
The leds.py shows you how you can interact and change the lights of the controller
|
||||||
|
|
||||||
|
## effects.py
|
||||||
|
|
||||||
|
The effects.py show some effects of the controller
|
||||||
|
|
||||||
|
## read_controller.py
|
||||||
|
|
||||||
|
The read_controller.py display how you can access the button state of the controller
|
22
examples/effects.py
Normal file
22
examples/effects.py
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
from pydualsense import *
|
||||||
|
|
||||||
|
# get dualsense instance
|
||||||
|
dualsense = pydualsense()
|
||||||
|
dualsense.init()
|
||||||
|
|
||||||
|
print('Trigger Effect demo started')
|
||||||
|
|
||||||
|
dualsense.setLeftMotor(255)
|
||||||
|
dualsense.setRightMotor(100)
|
||||||
|
dualsense.setLeftTriggerMode(TriggerModes.Rigid)
|
||||||
|
dualsense.setLeftTriggerForce(1, 255)
|
||||||
|
|
||||||
|
dualsense.setRightTriggerMode(TriggerModes.Pulse_A)
|
||||||
|
dualsense.setRightTriggerForce(0, 200)
|
||||||
|
dualsense.setRightTriggerForce(1, 255)
|
||||||
|
dualsense.setRightTriggerForce(2, 175)
|
||||||
|
|
||||||
|
import time; time.sleep(3)
|
||||||
|
|
||||||
|
# terminate the thread for message and close the device
|
||||||
|
dualsense.close()
|
@@ -2,12 +2,13 @@ from pydualsense import *
|
|||||||
|
|
||||||
# get dualsense instance
|
# get dualsense instance
|
||||||
dualsense = pydualsense()
|
dualsense = pydualsense()
|
||||||
|
dualsense.init()
|
||||||
# set color around touchpad to red
|
# set color around touchpad to red
|
||||||
dualsense.setColor(0,0,255)
|
dualsense.setColor(0,0,255)
|
||||||
# enable microphone indicator
|
# enable microphone indicator
|
||||||
dualsense.setMicrophoneLED(1)
|
dualsense.setMicrophoneLED(1)
|
||||||
# set all player indicators on
|
# set all player indicators on
|
||||||
dualsense.setPlayer(PlayerID.all)
|
dualsense.setPlayerID(PlayerID.all)
|
||||||
# sleep a little to see the result on the controller
|
# sleep a little to see the result on the controller
|
||||||
# this is not needed in normal usage
|
# this is not needed in normal usage
|
||||||
import time; time.sleep(2)
|
import time; time.sleep(2)
|
||||||
|
15
examples/read_controller.py
Normal file
15
examples/read_controller.py
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
from pydualsense import *
|
||||||
|
|
||||||
|
# create dualsense
|
||||||
|
dualsense = pydualsense()
|
||||||
|
# find device and initialize
|
||||||
|
dualsense.init()
|
||||||
|
|
||||||
|
# read controller state until R1 is pressed
|
||||||
|
while not dualsense.state.R1:
|
||||||
|
print(f"Circle : {dualsense.state.circle} Cross : {dualsense.state.cross} L Stick X : {dualsense.state.LX} L Stick Y : {dualsense.state.LY}")
|
||||||
|
|
||||||
|
# close device
|
||||||
|
dualsense.close()
|
||||||
|
|
||||||
|
|
@@ -1,12 +0,0 @@
|
|||||||
from pydualsense import *
|
|
||||||
|
|
||||||
# get dualsense instance
|
|
||||||
dualsense = pydualsense()
|
|
||||||
# set left trigger mode to rigid and put some force values on it
|
|
||||||
dualsense.setLeftTriggerMode(TriggerModes.Rigid)
|
|
||||||
dualsense.setLeftTriggerForce(1, 255)
|
|
||||||
# sleep a little to see the result on the controller
|
|
||||||
# this is not needed in normal usage
|
|
||||||
import time; time.sleep(2)
|
|
||||||
# terminate the thread for message and close the device
|
|
||||||
dualsense.close()
|
|
@@ -13,6 +13,7 @@ class pydualsense:
|
|||||||
self.receive_buffer_size = 64
|
self.receive_buffer_size = 64
|
||||||
self.send_report_size = 48
|
self.send_report_size = 48
|
||||||
self.color = (0,0,255) # set color around touchpad to blue
|
self.color = (0,0,255) # set color around touchpad to blue
|
||||||
|
|
||||||
self.leftMotor = 0
|
self.leftMotor = 0
|
||||||
self.rightMotor = 0
|
self.rightMotor = 0
|
||||||
|
|
||||||
@@ -82,11 +83,13 @@ class pydualsense:
|
|||||||
raise Exception('maximum intensity is 255')
|
raise Exception('maximum intensity is 255')
|
||||||
self.leftMotor = intensity
|
self.leftMotor = intensity
|
||||||
|
|
||||||
|
|
||||||
def setRightMotor(self, intensity: int):
|
def setRightMotor(self, intensity: int):
|
||||||
if intensity > 255:
|
if intensity > 255:
|
||||||
raise Exception('maximum intensity is 255')
|
raise Exception('maximum intensity is 255')
|
||||||
self.rightMotor = intensity
|
self.rightMotor = intensity
|
||||||
|
|
||||||
|
|
||||||
# right trigger
|
# right trigger
|
||||||
def setRightTriggerMode(self, mode: TriggerModes):
|
def setRightTriggerMode(self, mode: TriggerModes):
|
||||||
"""set the trigger mode for R2
|
"""set the trigger mode for R2
|
||||||
|
Reference in New Issue
Block a user