Eu finalmente consegui que funcionasse do jeito que eu queria com sxhkd e xdotool, como segue
shift + ~Shift_{L,R}
xdotool key Caps_Lock
Eu configurei a opção xkb shift: both_capslock (porque eu também uso caps: escape) mas isso parece ter desativado o comportamento normal da tecla shift. Como posso recuperar esse comportamento normal enquanto ainda permitia o duplo pressionamento.
Eu costumava fazer isso no gnome, mas estou tentando influenciar.
Eu finalmente consegui que funcionasse do jeito que eu queria com sxhkd e xdotool, como segue
shift + ~Shift_{L,R}
xdotool key Caps_Lock