💾 Download or
clone https://github.com/gilleswaeber/emoji-keyboard.git
do not use the Download ZIP button since some files would be missing (Git LFS // #19)
Packed with thousands of Emojis! Requires Windows 7+ , WebView2 (comes with Windows 10+) , and Autohotkey.
Since the Windows 10 April 2018 Update update, you can open the built-in emoji picker with Win+.. It is missing support for flags and emojis newer than the OS.
Install Autohotkey, download using the link at the top, and then launch App.ahk. It will then stay in system tray until you call it.
Open it with the ⇧ Shift+Caps Lock combination. You can also use a double click on the tray icon. To change the shortcut, edit hotkey.ahk which is created the first time you start the program.
Use the shown keyboard keys to navigate between the categories and type the Emojis. You can also use the mouse. You can move the window and resize it as you wish. Keymap matches the one of your system automatically.
The recent list opens with Caps Lock and shows a list of recent Emojis sorted on opening by their score. Inserting an Emoji increments its score and decrement other's. A score ≥ 100 makes it a favorite that'll stay in the list. Emojis can be removed and marked as favorites with a right click or ⇧ Shift when in the recent tab.
To exit completely, do a right click on the tray icon and choose Exit.
There are different available themes: the default "material" theme and a "legacy" theme. Both come in light and dark variants.
Skinnable emojis are signaled by a yellow indicator, right click or use the ⇧ Shift key to see the different skins.
The Noto Emoji font is used as a fallback for Emojis not supported by your Windows version.
The flags and the newest Emojis are currently not supported by Windows. You can still use them in 3rd-party applications or sites like Whatsapp or Twitter. Flags are sorted by ISO code, meaning you'll find Switzerland (CH) on page 2, between Congo and Côte d'Ivoire.
Some settings are available in the app. The keyboard view is realized using an embedded WebView2 control, as native AHK controls do not support Emojis at the moment. Some characters may use a fallback image because they are not rendered properly, but they are supported by the OS.
The web-app part is written in Typescript.
In the wwwassets, run yarn install; yarn watch
to get started.
The boards configuration is done in wwwassets/script/config.
Unicode data is generated from several sources:
- The Unicode® Emoji Resources which contain information about emoji attributes and emoji ordering
- The UnicodeData file which contain character names
- The Unicode NamesList and NamedSequences files which are used to generate the code charts and contains aliases used in search, and additional information not yet used
- The Unicode CLDR annotations for aliases used in search
A rebuild of the Unicode database can be triggered in the app settings. It will download parts of the Unicode spec when necessary. Data for CJK ideographs is not present in the app since Unicode provides it separately and the main dev is not able to provide a proper integration, PR welcome. Boards for scripts other than Latin and monotonic Greek are not provided either but can be added manually, PR welcome.
Additionally, math symbols and aliases were manually imported from the unicode-math XeLaTeX/LuaLaTeX package and the UTN #28: UnicodeMath specification.
See also:
AutoHotkey libs:
- ahk2_lib/WebView2, thqby
JavaScript libs:
- memoize-one, Alex Reardon, MIT License
- Peggy, David Majda, MIT License
- Preact, Jason Miller, MIT License
- RequireJS, jQuery Foundation and other contributors, MIT License
Emoji Fonts:
- Noto Emoji, Google Fonts, SIL Open Font License 1.1
Twemoji, Twitter, CC-BY 4.0, removed, Unicode 15 support not released