I threw this together because I got fed up with the lame layout of Russian phonetic keyboard on iOS devices. If your device is jailbroken then you can replace any UCHR file located in /System/Library/KeyboardLayouts/USBKeyboardLayouts.bundle/uchrs This essentially changes external (bluetooth) keyboard layout.
This is written in MatLab, but I've included "deployed" EXE file that should run without MatLab, but you will need MatLab Compiler Runtime (MCR) installed.
Note: you CANNOT use this tool to change on-screen keyboard layouts.
Note 2: use this at your own risk and backup any UCHR files you modify.