I presume that the keyboard remapping part will work something like the utility from Tavulsoft--it reads a text file that sets the remapping.