Not exactly what you're asking for, but similar enough that it will probably still work:
Many (but not all) IME frameworks (including both ibus and fctix) on Linux support a library called m17n to provide IME's. The m17n library provides a bunch of easy to use IME's (including trivial keyboard remappings to handle various languages). One of these, simply called 'Unicode', happens to do almost exactly the same thing as alt codes. The only two differences are:
- Alt codes depend on what your system's code page is for legacy applications. The m17n 'Unicode' IME uses hexadecimal Unicode code points, which are 100% consistent no matter how else the system is configured.
- Alt codes require you to hold the Alt key and use the numeric keypad to enter the digits. The m17n 'Unicode' IME uses Ctrl-U as the trigger sequence, and lets you enter the code any way you want (provided it matches the required hex code).
So, for your example of a lowercase latin letter 'e' with an acute accent, the exact sequence for m17m's 'Unicode' IME would be
9. Numerically, the hexadecimal number 00e9 is actually identical to the 0233 decimal value used for the equivalent Alt code with CP1252. This happens to be the case for most of the first 256 characters in Unicode, as they mostly match up with CP1252 in both order and position. This equivalency does not hold however of rhigher numbers.
Other IME's provided by m17n that may be of potential interest to you include 'Latin-Post' and 'Latin-Pre' which let you add specific characters after or before a letter to produce diacritical marks or special letters (for that you would use either
'e respectively), and 'RFC 1345', which uses RFC 1345 mnemonics to allow inputting a vast majority of the widely used characters from the Unicode BMP (and would use the same
e' as the 'Latin-Post' method).