In _setxkbmap_variant, the script looks for the pattern *xkb_symbols*\"([[:alnum:]]) This prevent variants containing non alphanumeric symbols to be included in the completion. For example, $ setxkbmap us fails to suggest altgr-intl, classmate-intl, cz_sk_de, dvorak-classic, dvorak-r, intl-unicode, workman-intl, alt-intl, classmate-altgr-intl, dvorak-intl, sun_type6, alt-intl- unicode, classmate-alt-intl, dvorak-alt-intl and dvorak-l variants This patch fixes this issue by looking for pattern *xkb_symbols*\"([^\"]) It also replaces # compdef setxkbmap by #compdef setxkbmap. The spurious space prevented the completion to be loaded in the first place.