There are a several more technical ways to do this that I have seen in other SE posts, but one of the easiest ways would be to install AutoKey. It is a full featured keyboard macro processor and it's easy to define simple macros for such a task.
AutoKey does a whole lot of other things easily and, if you know Python which is used as its macro language, you can get a keypress or phrase to do almost anything your system is capable of. And, it works with just about any program because, by default, its output appears to be coming directly from the keyboard exactly the same as if you were typing it.
Try it and see if it works for you. We don't currently have any developers on the project, but the support list is active and many people are successfully using it.
I just reread your question more carefully and the bit about the other modifier keys still working makes it more complicated because you would probably have to code a separate macro for each modifier combination with each key (i, j, k, l), but I think it would still work.
If you decide to try it, make sure you have the latest version (0.90.4) as many distros provide older versions that don't work as well.
xbindkeys + xvkbd
is still the best solution I've found, so no /: – Farzher Jun 06 '14 at 20:03