Input method editor (IME)
An input method (or input method editor, commonly abbreviated IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse operations) that are available to them. Using an input method is usually necessary for languages that have more graphemes than there are keys on the keyboard. More info can be found on wikipedia and with more info how to setup it and use here wiki.archlinux
Example of emoji input in contour using ibus
List of emojis from unicode
You can insert any unicode character using ibus IME by pressing Ctrl Shift u (default) and then insert unicode code for the emoji or other character.