[OnePlus 7T Questions & Answers] alc8traz:
Well Lossyx, you sir are a genius!

The Majisk Module you linked above worked! I removed all the keylayout files in the original module, added my new layout for the Xbox Elite 2 Controller, updated the update-binary, zipped and flashed. Every button now works as expected. Only issue, if you want to call it that, when I look at the modules in Majisk, it just shows info not provided for the new module. I updated the module.prop file to reflect the new changes but its not being read for some reason. Like I said, not really an issue since it works.

Recap for anyone interested: The goal was to use my Xbox Elite 2 Wireless controller on my OnePlus 7T to play Destiny 2 on Stadia.

-I rooted by booting with TWRP via ADB to get the boot.img. Used Magisk Canary to patch this image and flashed the new image to boot.

-Once rooted, I used the MajiskHide Props Config to create new props to make Apps think "Pixel 4" was the model and manufacturer was "Google" (required to load Stadia on phone as Stadia is currently restricted to Pixel 4 and Pixel 3, although it runs great with the new props on the OnePlus 7T).

-Thanks to Lossyx, I updated https://xdaforums.com/apps/magisk/module-1controller-1-module-to-support-t3865889 OneController to add the new kaylayout file for the Xbox Elite 2 Controller. Deleted all other keylayouts in that module, added the new layout, updated update-binary, zipped then flashed.

If anyone has any questions about what I did, please let me know and I'll help as much as my limited experience allows. Thanks again to Lossyx, couldn't have don't it without him!!!!

New KeyLayout info: file name = Vendor_045e_Product_0b05.kl

In the file:

# Copyright (C) 2019 The Android Open Source Project

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

# http://www.apache.org/licenses/LICENSE-2.0

#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

#

# XBox Elite Wireless Controller - Elite 2 - Bluetooth

#

# Mapping according to https://developer.android.com/training/game-controllers/controller-input.html

key 304 BUTTON_A

key 305 BUTTON_B

key 307 BUTTON_X

key 308 BUTTON_Y

key 310 BUTTON_L1

key 311 BUTTON_R1

# Triggers.

axis 0x0a LTRIGGER

axis 0x09 RTRIGGER

# Left and right stick.

# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.

# This confuses applications that rely on the flat value because the joystick actually

# settles in a flat range of +/- 4096 or so.

axis 0x00 X flat 4096

axis 0x01 Y flat 4096

axis 0x02 Z flat 4096

axis 0x05 RZ flat 4096

key 317 BUTTON_THUMBL

key 318 BUTTON_THUMBR

# Hat.

axis 0x10 HAT_X

axis 0x11 HAT_Y

# Mapping according to https://www.kernel.org/doc/Documentation/input/gamepad.txt

# Two overlapping rectangles

key 158 BUTTON_SELECT

# Hamburger - 3 parallel lines

key 315 BUTTON_START

# Xbox key

key 316 BUTTON_MODE