probably interesting to note under ID_DRIVER_SYNC's (all sync packets that have this) "Additional Information" that additional_key value 3 is supposed to be interpreted as 4 because there's only 2 bits but it sends 3 keys where the third key uses both bits set, and the keys of bit 1 and 2 can never be active together.
that's probably a shit explanation but:
actual_keys = packet.keys | (packet.additional_key == 3 ? 0x40000 : packet.additional_key << 16)
probably interesting to note under
ID_DRIVER_SYNC's(all sync packets that have this) "Additional Information" thatadditional_keyvalue3is supposed to be interpreted as4because there's only 2 bits but it sends 3 keys where the third key uses both bits set, and the keys of bit 1 and 2 can never be active together.that's probably a shit explanation but: