@larand It sounds like you have something that works already, but if you wind up wanting a different tack, a fun workaround could be a custom keyboard with firmware. You teach it the expansions, then the keyboard firmware translates them to the full set of keystrokes, and the host machine is totally unaware of the awesome. (It’s how a lot of open source stenotype hardware works - translates the steno into QWERTY, basically.)
(Of course, IT can just say no to custom keyboards then, too. No winning.)
/@JeremyCherfas @jmreekes