Install keyd (see https://github.com/rvaiya/keyd)
Save as /etc/keyd/default.conf:
[ids]
*
[main]
meta = overload(meta, M-space)
# hold = meta,
# tap once = meta + space
# meta is either Super|Cmd|Win|GUI|Mod4 depending on system docs
[shift]
escape = ~
# shift + esc = ~Then enable / start keyd.service
systemctl enable --now keyd.service
Took me a while to figure this out, I'm using niri which "should" cover this with release = true on a bind but keyd was simpler, and I just bind the launcher on Super+Space after setting up
keydI say simpler, but I mean simpler than not getting it working in niri as a release bind.