Hello! I'm developing a gamepad that would work in 2 modes: xinput and with gyro. When booted in gyro mode the firmware increments the last byte of the mac address and uses other metadata so they're different devices for both bluetooth stack and hid drivers on the computer. However problems arise when I bond the gamepad to the same computer in both modes. As soon as I bond in the other mode, the first gets unbonded as the bonding keys for the pc in nvram are overwritten. Are there any ways to work around this? Can I use several storages or extract the bonding data? I store it for only one client address, i.e. all the others are wiped when a new client is bonded.
Hello! I'm developing a gamepad that would work in 2 modes: xinput and with gyro. When booted in gyro mode the firmware increments the last byte of the mac address and uses other metadata so they're different devices for both bluetooth stack and hid drivers on the computer. However problems arise when I bond the gamepad to the same computer in both modes. As soon as I bond in the other mode, the first gets unbonded as the bonding keys for the pc in nvram are overwritten. Are there any ways to work around this? Can I use several storages or extract the bonding data? I store it for only one client address, i.e. all the others are wiped when a new client is bonded.