Emoji input on macOS

[Tweet]

Happy Independence Day to my US readers. I’m not doing any parades, nor running any special discounts on my apps. Just a silly post.

Since this blog has always been 86% me documenting things I figured out so I can find them later, I’m going to go ahead and write about something I’m pretty sure everybody else already knew.

I’ll start with a drawn-out backstory.

I held out on the whole emoji thing for a long time. I figured there had to be a reason that Apple, Google, Microsoft, and others were putting so much effort into adding them to messaging, but it didn’t make sense in my own habits. I’m a person who even in a 140-character message would prefer to use multiple messages to allow complete words and sentences with correct punctuation than lower myself to the level of “idk prly dum.”

But I started to see the intrigue of creating a new language, one based on hieroglyphs that held different meanings in different contexts and combinations, and even changing definitions between tribes. They could be used to punctuate regular text, or to add humor through ambiguity, or to provide a more precise representation of intent and emotion than text alone could, and with more depth than emoticons could. So maybe two years ago I really started using them.

On my iPhone, emoji input is really easy. Even with Apple’s default keyboard — but more so with Gboard or some of the emoji-centric 3rd-party keyboards — they were always at hand and almost as accessible as regular alphanumeric characters. But what about on my Mac? Now that I’m using them frequently, it was annoying to deal with the impediments there.

So, first step, the character palette. By default the keyboard shortcut is ⌃⌘␣ (Control-Command-Space). I hit it while typing in Messages and it gave me a popup with available emoji. I could search by name or just use the arrow keys to navigate the list as a grid. Ok. Then I enter one and it disappears. I have to open it again, navigate again, and then it disappears again.

You can also open the traditional character palette input method using the icon in the upper right of the popup panel. In this mode it stays open and doesn’t take keyboard focus, so you can click multiple emoji and keep typing. But because it doesn’t take keyboard focus, it also means you have a float-over window that requires mouse interaction every time, and each character requires a double-click. Tradeoff.

There’s no perfect combination here, but there is a third option that I like slightly better: when it’s in the popup mode (which you can get back to from the character palette by clicking the icon in the upper right and then closing the panel), you can click below the search field and drag it to untether it from the input field. Weirdly, the search field has to have focus for this to work, so if it doesn’t drag, click in the search field first. It now becomes a floating palette that allows you to click multiple emoji and quickly insert a combination. They only require a single-click, and it doesn’t take keyboard focus so you can be typing, click one or more emoji, and then just continue typing without needing to click back to what you’re writing.

You can always set up TextExpander snippets or Keyboard Maestro macros, too, and that’s great for frequently used emoji or combinations. It’ll never be as easy as it is on my phone; I can’t just change my actual keyboard the way I can with a tap on iOS. Though it seems like something I’d eventually try to do if I had a keyboard with programmable OLED keycaps. I mean, obviously.

Anyway, no groundbreaking discoveries, but if you’re like me and happen to be relatively new at giving any firetrucks about emoji, maybe these tips help in some small way…