So, I can’t find anything that will convert the customkeys.txt of old to the new format and would like to just write a program to do it myself. However, to do so I need to get the button position and full ability list of every single unit and building. I know this information exists as the default settings for a melee map in the world editor, but I don’t want to go through and copy the values for every single unit by hand. Is there a way to do this automatically?
Yes. Custom keys is parsed in the same format as the original game unit data. That’s why custom keys TXT is formatted how it is; it was to save time.
Get yourself a tool to load the CASC game data (CascView, maybe Retera Model Studio, etc) and then export all the TXT files that literally define the ingame button positions and stuff in the same format as CustomKeys.txt and paste them together into your one new file.
If that’s too annoying you can download Retera Model Studio, build it from source, make a for each unit type loop, and dump to a file the exact format you want for each unit type.