I loved the idea of https://www.printables.com/model/148649-spring-latch-keychain but my wife didn't want more holes in the walls, so I remixed it to have a flat mounting surface and more wall clearance. It mounts easily with a large command strip. I just clamped the strip on for a few minutes, then trimmed with scissors and stuck it to the wall.
For printing, make sure to put the spring side down on the bed. The mounting side should be up, and the overhang angle is easily printable. The files are oriented in this way.
Since 3DPrinty was so kind to post a STEP model, I've uploaded my Fusion project with my modifications.
The author remixed this model.