Skip to content

Commit 2c8bc65

Browse files
committed
separate edge into its own controller
1 parent 4bdea66 commit 2c8bc65

File tree

3 files changed

+46
-13
lines changed

3 files changed

+46
-13
lines changed

src/hhd/device/rog_ally/controllers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ children:
4242
off: "Off"
4343
low: "Low"
4444
medium: "Medium"
45-
high: "High (!!)"
45+
high: "High"
4646
default: medium
4747

4848
select_reboots:

src/hhd/plugins/outputs.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,25 @@ def get_outputs(
3232
uses_touch = False
3333
uses_leds = False
3434
match controller:
35+
case "dualsense_edge":
36+
uses_touch = touchpad == "controller"
37+
uses_leds = conf["dualsense_edge.led_support"].to(bool)
38+
d = Dualsense(
39+
touchpad_method=correction,
40+
edge_mode=True,
41+
use_bluetooth=conf["dualsense_edge.bluetooth_mode"].to(bool),
42+
enable_touchpad=uses_touch,
43+
enable_rgb=uses_leds,
44+
fake_timestamps=not motion,
45+
)
46+
producers.append(d)
47+
consumers.append(d)
3548
case "dualsense":
3649
uses_touch = touchpad == "controller"
3750
uses_leds = conf["dualsense.led_support"].to(bool)
3851
d = Dualsense(
3952
touchpad_method=correction,
40-
edge_mode=conf["dualsense.edge_mode"].to(bool),
53+
edge_mode=False,
4154
use_bluetooth=conf["dualsense.bluetooth_mode"].to(bool),
4255
enable_touchpad=uses_touch,
4356
enable_rgb=uses_leds,
@@ -88,5 +101,5 @@ def get_outputs(
88101
def get_outputs_config(can_disable: bool = False):
89102
s = load_relative_yaml("outputs.yml")
90103
if not can_disable:
91-
del s['modes']['disabled']
104+
del s["modes"]["disabled"]
92105
return s

src/hhd/plugins/outputs.yml

Lines changed: 30 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,18 @@ modes:
2929
tags: [lgc_emulation_dualsense, dualsense]
3030
title: Dualsense
3131
hint: >-
32-
Emulates the expensive Dualsense Sony controller, both Edge and non-edge
33-
variants.
32+
Emulates the Dualsense Sony controller from the Playstation 5.
33+
Since this controller does not have paddles, the paddles are mapped
34+
to left and right touchpad clicks.
3435
3536
children:
36-
edge_mode:
37+
led_support:
3738
type: bool
38-
title: Edge Mode
39+
title: LED Support
3940
hint: >-
40-
Uses the edge product ID which enables paddle support.
41-
The edge controller is a bit obscure, so some games might not
42-
support it correctly.
43-
You can disable this to use normal Dualsense.
44-
The paddles are then remapped to touchpad clicks (left, right).
45-
default: False
41+
Passes through the LEDs to the controller, which allows games
42+
to control them.
43+
default: True
4644

4745
bluetooth_mode:
4846
type: bool
@@ -56,10 +54,32 @@ modes:
5654
Test and report back!
5755
default: True
5856

57+
dualsense_edge:
58+
type: container
59+
tags: [lgc_emulation_dualsense_edge, dualsense_edge]
60+
title: Dualsense Edge
61+
hint: >-
62+
Emulates the expensive Dualsense Sony controller which enables paddle support.
63+
The edge controller is a bit obscure, so some games might not
64+
support it correctly.
65+
66+
children:
5967
led_support:
6068
type: bool
6169
title: LED Support
6270
hint: >-
6371
Passes through the LEDs to the controller, which allows games
6472
to control them.
6573
default: True
74+
75+
bluetooth_mode:
76+
type: bool
77+
title: Bluetooth Mode
78+
tags: [advanced]
79+
hint: >-
80+
Emulates the controller in bluetooth mode instead of USB mode.
81+
This is the default as it causes less issues with how apps
82+
interact with the controller.
83+
However, using USB mode can improve LED support (?) in some games.
84+
Test and report back!
85+
default: True

0 commit comments

Comments
 (0)