I haven't tried it myself yet, but as a first guess, Ctrl with a letter probably doesn't work because those combinations create control characters, meaning, character codes in the ASCII range 0 to 31. Specifically, Ctrl-A is 1, Ctrl-B is 2, etc. So you could try mapping Ctrl 0x1 instead of Ctrl a, Ctrl 0x2 instead of Ctrl b, and so on.
If that is the case, then arguably the app should ignore Ctrl for codes between 0 and 31, although there are caveats like the potential collisions between Enter and Ctrl-M, Tab and Ctrl-H, Esc and Ctrl-[, etc.
If the above doesn't help, I'll need you to be more specific about what exactly isn't working...