Oh wait -- I just thought of something:
- generate $u$ from a uniform distribution $\in [-1,1]$
- calculate $x = |u|^p \operatorname{sgn} u$ for $0 < p \leq1$ (also include $p=0$ by defining $x=1$ if $u=0$), which yields a uniform distribution for $p=1$ and a point distribution for $p=0$.
Not sure of its variance, but the general behavior is what I'm looking for.
cdf here for p=0, 0.2, 0.4, 0.6, 0.8, 1.0