diff --git a/images/docs/ime_selector.png b/images/docs/ime_selector.png
new file mode 100644
index 0000000..c83d308
Binary files /dev/null and b/images/docs/ime_selector.png differ
diff --git a/setup-term.md b/setup-term.md
new file mode 100644
index 0000000..a44fc3a
--- /dev/null
+++ b/setup-term.md
@@ -0,0 +1,106 @@
+# Terminal Emulator Setup For Unicode Keybindings
+
+If your keymap has unicode characters and you use a modern terminal emulator,
+you need few additional steps in order to make it work correctly.
+
+These instructions will work for pretty much any Linux distributions and ZMK
+firmware. Make sure to use the required versions listed at the end of this
+guide, as some fixes required to make it work are relatively recent.
+
+## Why is it needed?
+
+If you open Kitty or Wezterm and then press a key bound to an unicode character,
+you'll be greeted with this kind of selector:
+
+![Unicode selector in Kitty and Wezterm](./images/docs/ime_selector.png)
+
+Every time you hit an unicode keybinding. Every single time. Let's make it work
+better.
+
+## IME
+
+You need to install an IME (Input Method Editor), it will allow you to
+commit your unicode characters directly without these annoying prompts. I
+suggest to use Fcitx as it works equally good in Xorg and Wayland.
+
+1. Install these with your package manager:
+
+ ```txt
+ fcitx5 fcitx5-gtk fcitx5-qt
+ ```
+
+1. Add these environment variable to your session. Depending on your DE/WM, that
+ could be in startup config file, profile, in `/etc/environment`, etc. These
+ are not all required on both X11 and Wayland, but it's harmless to include
+ them all and it's a good hybrid config.
+
+ ```env
+ GLFW_IM_MODULE=ibus
+ GTK_IM_MODULE=fcitx
+ QT_IM_MODULE=fcitx
+ SDL_IM_MODULE=fcitx5
+ XIM=fcitx
+ XIM_PROGRAM=fcitx
+ XMODIFIERS=@im=fcitx
+ ```
+
+1. Configure your session to [execute the `fcitx` command on startup](https://fcitx-im.org/wiki/Setup_Fcitx_5).
+
+1. If using Wezterm, you could add this in your `wezterm.lua` to prevent
+ any hiccups:
+
+ ```lua
+ use_ime = true -- Should be the default on recent releases
+ xim_im_name = 'fcitx' -- In case wrong/unset XMODIFIERS env
+ ```
+
+After a reboot, unicode characters should now work correctly on X11.
+
+In Wayland tough, GUI apps may have been fixed but most terminals will randomly
+render a unshifted version of a shifted character when you type (any key, except
+unicodes). For instance: "0" instead of ")", "9" instead of "(", and so on.
+
+Luckily, there is now a way to fix it.
+
+## Fix Fcitx
+
+Edit `~/.config/fcitx5/conf/waylandim.conf` and make sure this option is set to
+false:
+
+```sh
+# Forward key event instead of commiting text if it is not handled
+PreferKeyEvent=False
+```
+
+> Note: This option is also available in the `fcitx5-configtool` GUI under
+> _Wayland Input Method Interface_.
+
+Everything should work fine now! 🚀
+
+## Required Versions
+
+| Package | X11 | Wayland |
+|---------|:---:|:---------:|
+| `fcitx5` | Any | [5.1.6](https://github.com/fcitx/fcitx5/releases/tag/5.1.6) |
+| `kitty` | Any1 | [Nightly build](https://github.com/kovidgoyal/kitty/releases/tag/nightly) (Not in stable yet) |
+| `wezterm` | Stable [20240203-110809-5046fc22](https://github.com/wez/wezterm/releases/tag/20240203-110809-5046fc22)| Any |
+| `foot` | Any | Any |
+| `alacritty` | Untested | Any |
+
+**Notes**
+1 Make sure to set `GLFW_IM_MODULE=ibus`
+
+## Bonus
+
+Hit Ctrl + ; and you have a
+[clipboard history](https://fcitx-im.org/wiki/Clipboard) for free.
+
+## References
+
+- [Setup Fcitx 5](https://fcitx-im.org/wiki/Setup_Fcitx_5)
+- Wezterm [`use_ime`](https://wezfurlong.org/wezterm/config/lua/config/use_ime.html)
+ and [`xim_im_name`](https://wezfurlong.org/wezterm/config/lua/config/xim_im_name.html)
+- Kitty [GLFW_IM_MODULE](https://sw.kovidgoyal.net/kitty/glossary/#envvar-GLFW_IM_MODULE)
+- [Fcitx Issue](https://github.com/fcitx/fcitx5/issues/893)
+- [Wezterm Issue](https://github.com/wez/wezterm/issues/4615)
+- [Kitty Issue](https://github.com/kovidgoyal/kitty/issues/7258) / [Pull Request](https://github.com/kovidgoyal/kitty/pull/7283)