Add Stadia support (#8)
* Log some info * Fix pairing url and include TLS certificate in the connection request * Try to fix crashing related to shortcuts * Add print_exc() * Fix crash when pressing buttons on Joy-Con (L) * Linting * Add "Stadia" pairing method
This commit is contained in:
parent
2ebd7be378
commit
e89be3166f
4 changed files with 69 additions and 33 deletions
32
dance.py
32
dance.py
|
@ -29,6 +29,7 @@ class WsCommand(Enum):
|
|||
class PairingMethod(Enum):
|
||||
DEFAULT = 'default'
|
||||
FAST = 'fast'
|
||||
STADIA = 'stadia'
|
||||
OLD = 'old'
|
||||
|
||||
|
||||
|
@ -139,31 +140,29 @@ async def connect_joycon(app, ws, data):
|
|||
config_parser['joydance'] = config
|
||||
save_config(config_parser)
|
||||
|
||||
if pairing_method == PairingMethod.DEFAULT.value:
|
||||
if pairing_method == PairingMethod.DEFAULT.value or pairing_method == PairingMethod.STADIA.value:
|
||||
app['joycons_info'][serial]['pairing_code'] = pairing_code
|
||||
console_ip_addr = None
|
||||
else:
|
||||
app['joycons_info'][serial]['pairing_code'] = ''
|
||||
|
||||
joycon = ButtonEventJoyCon(vendor_id, product_id, serial)
|
||||
|
||||
if pairing_method == PairingMethod.DEFAULT.value:
|
||||
console_ip_addr = None
|
||||
|
||||
if pairing_method == PairingMethod.OLD.value:
|
||||
protocol_version = WsSubprotocolVersion.V1
|
||||
else:
|
||||
protocol_version = WsSubprotocolVersion.V2
|
||||
|
||||
joydance = JoyDance(
|
||||
joycon,
|
||||
protocol_version=protocol_version,
|
||||
pairing_code=pairing_code,
|
||||
host_ip_addr=host_ip_addr,
|
||||
console_ip_addr=console_ip_addr,
|
||||
on_state_changed=on_joydance_state_changed,
|
||||
accel_acquisition_freq_hz=config['accel_acquisition_freq_hz'],
|
||||
accel_acquisition_latency=config['accel_acquisition_latency'],
|
||||
accel_max_range=config['accel_max_range'],
|
||||
joycon,
|
||||
protocol_version=protocol_version,
|
||||
pairing_code=pairing_code,
|
||||
host_ip_addr=host_ip_addr,
|
||||
console_ip_addr=console_ip_addr,
|
||||
on_state_changed=on_joydance_state_changed,
|
||||
accel_acquisition_freq_hz=config['accel_acquisition_freq_hz'],
|
||||
accel_acquisition_latency=config['accel_acquisition_latency'],
|
||||
accel_max_range=config['accel_max_range'],
|
||||
)
|
||||
app['joydance_connections'][serial] = joydance
|
||||
|
||||
|
@ -234,7 +233,12 @@ def is_valid_ip_address(val):
|
|||
|
||||
|
||||
def is_valid_pairing_method(val):
|
||||
return val in [PairingMethod.DEFAULT.value, PairingMethod.FAST.value, PairingMethod.OLD.value]
|
||||
return val in [
|
||||
PairingMethod.DEFAULT.value,
|
||||
PairingMethod.FAST.value,
|
||||
PairingMethod.STADIA.value,
|
||||
PairingMethod.OLD.value,
|
||||
]
|
||||
|
||||
|
||||
def get_host_ip():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue