I use Compose key for this, surprised nobody mentioned it here yet. This way it works in all X11 apps (Sway supports this out of the box as well), with no need for extra software or some specific desktop environment.
My n00buntu derivative has some emojis and other logograms out of the box, eg. lines 326–337 of /usr/share/X11/locale/en_US.UTF-8/Compose:
<Multi_key> <C> <C> <C> <P> : "" U262D # HAMMER AND SICKLE
<Multi_key> <O> <A> : "Ⓐ" U24B6 # CIRCLED LATIN CAPITAL LETTER A
<Multi_key> <less> <3> : "♥" U2665 # BLACK HEART SUIT
<Multi_key> <colon> <parenright> : "" U263A # WHITE SMILING FACE
<Multi_key> <colon> <parenleft> : "" U2639 # WHITE FROWNING FACE
<Multi_key> <backslash> <o> <slash> : "" # PERSON RAISING BOTH HANDS IN CELEBRATION
<Multi_key> <p> <o> <o> : "" U1F4A9 # PILE OF POO
<Multi_key> <F> <U> : "" U1F595 # REVERSED HAND WITH MIDDLE FINGER EXTENDED
<Multi_key> <L> <L> <A> <P> : "" U1F596 # RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS
Just put something like
in your ~/.XCompose.Yes, you have to put all the emojis you want there manually, but I use very few of them so it works for me.
EDIT: HN removed the emojis from my snippet. The double quotes there contained smiling face, thumb up, and thumb down.