Sony DualSense & DualSense Edge controllers support cable pairing the same way as previous Sixaxis controller generations do. This patch prepares their input profile for its implementation. --- profiles/input/server.c | 3 ++- profiles/input/sixaxis.h | 25 +++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/profiles/input/server.c b/profiles/input/server.c index c8be445c7..68105d48c 100644 --- a/profiles/input/server.c +++ b/profiles/input/server.c @@ -122,7 +122,8 @@ static bool dev_is_sixaxis(const bdaddr_t *src, const bdaddr_t *dst) cp = get_pairing(vid, pid, NULL); if (cp && (cp->type == CABLE_PAIRING_SIXAXIS || - cp->type == CABLE_PAIRING_DS4)) + cp->type == CABLE_PAIRING_DS4 || + cp->type == CABLE_PAIRING_DUALSENSE)) return true; return false; diff --git a/profiles/input/sixaxis.h b/profiles/input/sixaxis.h index ab8831995..ac7e75223 100644 --- a/profiles/input/sixaxis.h +++ b/profiles/input/sixaxis.h @@ -17,6 +17,7 @@ typedef enum { CABLE_PAIRING_UNSUPPORTED = 0, CABLE_PAIRING_SIXAXIS, CABLE_PAIRING_DS4, + CABLE_PAIRING_DUALSENSE, } CablePairingType; struct cable_pairing { @@ -72,6 +73,30 @@ get_pairing(uint16_t vid, uint16_t pid, const char *name) .version = 0x0001, .type = CABLE_PAIRING_DS4, }, + { + .name = "Sony Interactive Entertainment Wireless Controller", + .source = 0x0002, + .vid = 0x054c, + .pid = 0x0ce6, + .version = 0x0001, + .type = CABLE_PAIRING_DUALSENSE, + }, + { + .name = "Sony Interactive Entertainment DualSense Wireless Controller", + .source = 0x0002, + .vid = 0x054c, + .pid = 0x0ce6, + .version = 0x0001, + .type = CABLE_PAIRING_DUALSENSE, + }, + { + .name = "Sony Interactive Entertainment DualSense Edge Wireless Controller", + .source = 0x0002, + .vid = 0x054c, + .pid = 0x0df2, + .version = 0x0001, + .type = CABLE_PAIRING_DUALSENSE, + }, }; guint i; -- 2.49.0