The problem with cross-platform is that you typically end up relying heavily on libraries like SDL2, and frankly SDL2 is still a complete mess. The last I checked, large chunks of what was supposed to be in the 2.0 release were pushed back for years.
It doesn't help that the official SDL documentation tells you to visit a blog post for better details on the implementation of haptics, only to have that blog be dead outright and thus relying on archive.org links.
It's not entirely bad news, though. There's a solid plan to rework one of the most irritating parts of controller configuration, and with any real luck that'll get done before the end of next year.