If you use keyclone you should be able to do it with keymaps.

I had a chat about this with Rob a few weeks ago (probably a lot more: having a baby sure makes time fly) and you can have a keymap for each character that has the same keys bound to multiple strings

e.g.
main
SHIFT-P -> star
SHIFT-0 -> box

1.
star -> up
box -> up+right

2.
star -> down
box -> down+left

etc