diff options
author | Kjetil Orbekk <kj@orbekk.com> | 2021-02-22 08:43:53 -0500 |
---|---|---|
committer | Kjetil Orbekk <kj@orbekk.com> | 2021-02-22 08:43:53 -0500 |
commit | da1ee285920f45e900da63b9008cabd54ad8ea4f (patch) | |
tree | faec8b0efd98d1cc3a5533c0b72d40c969ccfa4a /patches/xow | |
parent | 0d96b09182539eb80b8f8b630190de8c0462c3fd (diff) |
Fix firelink config
Diffstat (limited to 'patches/xow')
-rw-r--r-- | patches/xow/0001-Single-controller-patch.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/patches/xow/0001-Single-controller-patch.patch b/patches/xow/0001-Single-controller-patch.patch new file mode 100644 index 0000000..b56270a --- /dev/null +++ b/patches/xow/0001-Single-controller-patch.patch @@ -0,0 +1,72 @@ +From 8937ae5e05e64c884b9f8d0736628a596bba6728 Mon Sep 17 00:00:00 2001 +From: Kjetil Orbekk <kj@orbekk.com> +Date: Mon, 22 Feb 2021 08:17:49 -0500 +Subject: [PATCH] Single controller patch + +--- + controller/controller.cpp | 6 ++++++ + controller/controller.h | 1 + + dongle/dongle.cpp | 13 +++++++++---- + 3 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/controller/controller.cpp b/controller/controller.cpp +index d138e0c..83640ea 100644 +--- a/controller/controller.cpp ++++ b/controller/controller.cpp +@@ -171,6 +171,12 @@ void Controller::initInput(const AnnounceData *announce) + return; + } + ++ if (initialized) { ++ Log::info("HACK: Skip initialization because of reute"); ++ return; ++ } ++ initialized = true; ++ + InputDevice::AxisConfig stickConfig = {}; + + // 16 bits (signed) for the sticks +diff --git a/controller/controller.h b/controller/controller.h +index 5486895..cd11853 100644 +--- a/controller/controller.h ++++ b/controller/controller.h +@@ -52,4 +52,5 @@ private: + InputDevice inputDevice; + + uint8_t batteryLevel = 0xff; ++ bool initialized = false; + }; +diff --git a/dongle/dongle.cpp b/dongle/dongle.cpp +index b931ff8..5c5305e 100644 +--- a/dongle/dongle.cpp ++++ b/dongle/dongle.cpp +@@ -72,9 +72,13 @@ void Dongle::handleControllerConnect(Bytes address) + std::placeholders::_1 + ); + +- controllers[wcid - 1].reset(new Controller(sendPacket)); +- +- Log::info("Controller '%d' connected", wcid); ++ if (controllers[wcid - 1] == nullptr) ++ { ++ controllers[wcid - 1].reset(new Controller(sendPacket)); ++ Log::info("Controller '%d' connected", wcid); ++ } else { ++ Log::info("Controller '%d' connected (re-attached)", wcid); ++ } + } + + void Dongle::handleControllerDisconnect(uint8_t wcid) +@@ -93,7 +97,8 @@ void Dongle::handleControllerDisconnect(uint8_t wcid) + return; + } + +- controllers[wcid - 1].reset(); ++ // QQQ: Figure out how to flag protect this. ++ // controllers[wcid - 1].reset(); + + if (!removeClient(wcid)) + { +-- +2.29.2 + |