See https://wiki.archlinux.org/index.php/Xmodmap and "man xmodmap" for details.
If your DE doesn't use .xinitrc, it may have it's own method of setting up custom keyboards.
Now I know I can just edit/create new layout by editing files in /usr/share/X11/*, but maybe someone have better idea? Maybe this kind of layout exists?
The most ideal way would allow me to do it even if I do not have root access. For example in XFCE and zshrc.