The Detached Solutions apps are specifically written to work with each other. Omnicalc checks for MirageOS and Symbolic, and if either (or both) are installed it passes the appropriate key presses to the appropriate routines in them.
If you want true universal chaing, look at my
ShortCut app (which I unfortunately haven't touched in almost two and a half years). Chaining is not 100% reliable; my method borrows 6 bytes of RAM which may be in use for something else at the time (but probably aren't). If I ever do get off my lazy bum and rewrite it, I'll try to find a better method to call the other keyhook.
Essentially, it checks to see if the hook is in use when it installs its own hook. If it is, it stores the old hook page and address into its appvar. Then, when the hook fires, it does its own business and checks the appvar to see if there is a hook to chain. If there is, it checks the $83 validation byte and chains to the hook if the byte checks out.