diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 00000000000..efe7a989087 --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,27 @@ +name: Changelog + +on: + push: + branches: + - "main" + - "[0-9].[0-9]" + paths: + - "CHANGELOG.md" + +jobs: + trigger-changelog-update: + name: Trigger Changelog update on manual repository + runs-on: ubuntu-latest + steps: + - name: Get current branch name + uses: nelonoel/branch-name@v1.0.1 + - name: Start workflow run on manual repository + uses: peter-evans/repository-dispatch@v1 + if: env.MIXXXBOT_TOKEN != null + with: + token: ${{ env.MIXXXBOT_TOKEN }} + repository: mixxxdj/manual + event-type: update-changelog + client-payload: '{"branch": "${{ env.BRANCH_NAME }}", "ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}' + env: + MIXXXBOT_TOKEN: ${{ secrets.MIXXXBOT_CHANGELOG_AUTOUPDATER_PAT }} diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb496cc0d9..9af0201a977 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ ## [2.3.1](https://launchpad.net/mixxx/+milestone/2.3.1) (Unreleased) * Added mapping for the Numark DJ2GO Touch controller [#4108](https://github.com/mixxxdj/mixxx/pull/4108) +* Added mapping for the Numark Mixtrack Pro FX controller [#4160](https://github.com/mixxxdj/mixxx/pull/4160) +* Disabled detection of keyboards and mice as HID controllers [#4243](https://github.com/mixxxdj/mixxx/pull/4243) * Add support for HiDPI scale factors of 125% and 175% (only with Qt 5.14+) [lp1938102](https://bugs.launchpad.net/mixxx/+bug/1938102) [#4161](https://github.com/mixxxdj/mixxx/pull/4161) * Fix unhandled exception when parsing corrupt Rekordbox PDB files [lp1933853](https://bugs.launchpad.net/mixxx/+bug/1933853) [#4040](https://github.com/mixxxdj/mixxx/pull/4040) * Fix Echo effect adding left channel samples to right channel [#4141](https://github.com/mixxxdj/mixxx/pull/4141) diff --git a/src/controllers/hid/hiddenylist.h b/src/controllers/hid/hiddenylist.h index 1a1fdb05b17..9afb85f6804 100644 --- a/src/controllers/hid/hiddenylist.h +++ b/src/controllers/hid/hiddenylist.h @@ -10,8 +10,6 @@ typedef struct hid_denylist { /// USB HID device that should not be recognized as controllers hid_denylist_t hid_denylisted[] = { - {0x5ac, 0x253, 0xff00, 0x1, -1}, // Apple laptop chassis - {0x5ac, 0x8242, 0xc, 0x1, -1}, // Apple IR Remote Controller {0x1157, 0x300, 0x1, 0x2, -1}, // EKS Otus mouse pad (OS/X,windows) {0x1157, 0x300, 0x0, 0x0, 0x3}, // EKS Otus mouse pad (linux) }; diff --git a/src/controllers/hid/hidenumerator.cpp b/src/controllers/hid/hidenumerator.cpp index e15a21649b8..e6f1a9bdc41 100644 --- a/src/controllers/hid/hidenumerator.cpp +++ b/src/controllers/hid/hidenumerator.cpp @@ -18,6 +18,16 @@ bool recognizeDevice(const hid_device_info& device_info) { return false; } + // Apple includes a variety of HID devices in their computers, not all of which + // match the filter above for keyboards and mice, for example "Magic Trackpad", + // "Internal Keyboard", and "T1 Controller". Apple is likely to keep changing + // these devices in future computers and none of these devices are DJ controllers, + // so skip all Apple HID devices rather than maintaining a list of specific devices + // to skip. + if (device_info.vendor_id == mixxx::hid::kAppleVendorId) { + return false; + } + // Exclude specific devices from the denylist. bool interface_number_valid = device_info.interface_number != -1; const int denylist_len = sizeof(hid_denylisted) / sizeof(hid_denylisted[0]);