Let's start with my most recent opensource dev-project:
#qXmoji is an #X11#emoji#keyboard. Although it uses #Qt for its GUI, the mechanism to "type" emojis is pure X11. This means any X11 client can receive them (whether that client can correctly display them is an entirely different issue 🙈) ... not even #XIM awarenesss is needed.
The mechanism to inject fake "emoji keyboard events" is quite hacky and dirty, but it works!