Everything is inferred from device traces, and compared against known protocol implementations (ex USB - thanks to the openrazer project) - which AFAIK have remained pretty stable over the years.
So far, it's survived a few device firmware updates with no visible breaking changes, but I can't guarantee it always will.
So far, it's survived a few device firmware updates with no visible breaking changes, but I can't guarantee it always will.
https://github.com/openrazer/openrazer