What would the emoji keyboard on your phone look like if you laid it out on a standard desktop keyboard? Enterprising programmer and YouTuber Tom Scott decided to find out—though he’s not entirely sure why.
As of Unicode 8.0, there are 1,281 recognized emoji. Each one of those gets an individual key on Scott’s rig. It took a total of 14 keyboards to house them all, creating a massive and overwhelming collection of cartoony characters.
“It was a terrible idea,” Scott admitted to the Daily Dot. “But it made me laugh—and it was just about cheap enough that I could justify making it work!”
And it does work, against all odds. The entire spectrum of emoji is accessible over the table top-occupying keyboard contraption; place the cursor in a text box, tap the keys, and the selected emoji appears.
Scott chalks up the successful function of his build to “a horrible bodge of LuaMacros and AutoHotKey,” two programs that are the programmer’s equivalent of string and duct tape.
In a video explaining how the emoji keyboard came together, Scott waxes on the inelegant beauty of the “bodge,” a term that essentially equates to patchwork that is good enough to get the job done. He notes the inclusion of emoji onto various platforms is a bit of a bodge itself, taking various characters created by people around the world and cramming them into a uniform standard designed to encompass them all.
AutoHotKey gets the majority of praise in Scott’s explanation. The open-source macro-creation software essentially scripts a more complicated combination of commands to a single button.
Those button presses are processed by the Windows laptop, which receives the command through a standard USB port—the only not-standard part being there are about 13 more keyboards than would usually be plugged in.
This is where Scott ran into some trouble. While his keyboards all had different and unique icons plastered over the top of each key, the computer doesn’t recognize that; the “F” key on one keyboard is perceived as the same “F” key as all the others as far as the computer is concerned. It will produce the same result no matter which keyboard you type it on.
A program called LuaMacros solved this issue. A piece of simple software for sending keyboard macros from different USB devices, LuaMacros is a popular program among the flight simulation community as a means of building functional mock cockpits. LuaMacros did what the Windows laptop couldn’t do on its own: differentiate between which keyboard a keystroke was coming from.
With LuaMacros sorting out the specialized input and AutoHotKey generating the proper key pressing combination Windows requires to type an emoji, Scott was able to make the system work. The MacGyver-style solution might be a mess behind the curtain, but it looks as straightforward as any keystroke in execution.
Scott said the keys are organized primarily by the Unicode Consortium “with a couple of changes to keep particular groups on the same bit of the keyboard.” Each one gets its own identifying sticker, a process Scott said took hours on its own. There’s even a skin tone modifier, which works like the Shift key on a standard keyboard.
Scott is no stranger to emoji. In 2014 he built emojli, a social network app that did away entirely with words and replaced them nothing be emoji. Even usernames were restricted to only emoji. Scott and his partner Matt Gray shut down the network just over a year after launching it. While it was available, over 60,000 people downloaded the app—though Scott notes in his note about discontinuing service that “very few people actually used it.”
Like the app, Scott doesn’t foresee an extended lifespan for his emoji keyboard. While it currently accounts for every emoji up to the much-anticipated collection set to be added to the iOS 9.1 update, Scott said the keyboard likely won’t expand as more emoji are approved and added by the Unicode Consortium. He said he’ll do it “only if it’s worth the effort. And I don’t need to buy too many more keyboards.” That seems like a reasonable condition, which probably spells the end for a completely unreasonable project.