Just a quick answer to your question (have not looked at your data yet): The headers are necessary, though I would expect them to be present as the current development kernel is/was at -13, too. But you need to be on that kernel before installing the test kernel. A patch is applied to the kernel source code with a tool called patch, but you will have to compile the whole kernel on your own and this requires other tools and a lot of disk space and time.
Looked at the rdesc output now and this still seems to enumerate the buttons incorrectly. This was with the latest test kernel? Reading through the bug report is simpler if you always add the output of "uname -a" (yes, sorry I got that wrong last time) to any other output you collect.
In general it looks like something is still wrong/missing.
Just a quick answer to your question (have not looked at your data yet): The headers are necessary, though I would expect them to be present as the current development kernel is/was at -13, too. But you need to be on that kernel before installing the test kernel. A patch is applied to the kernel source code with a tool called patch, but you will have to compile the whole kernel on your own and this requires other tools and a lot of disk space and time.
Looked at the rdesc output now and this still seems to enumerate the buttons incorrectly. This was with the latest test kernel? Reading through the bug report is simpler if you always add the output of "uname -a" (yes, sorry I got that wrong last time) to any other output you collect.
In general it looks like something is still wrong/missing.