A button that uses magnetic repulsion to "push back" when pressed on. Customize it using Thingiverse Customizer (https://www.thingiverse.com/thing:6272414) or download the OpenSCAD file. You can select what size of magnets you want to do, or fiddle with the tolerances to get a better part fit.
The included files are sized to fit 8mm x 1mm cylindrical magnets. I used a dollop of super glue to hold the magnets into the sockets. Be sure to put both magnets in so that they both show N or both show S on their visible surface. Otherwise they will attract, which will make for a pretty poor button experience.
Tip if your cap doesn't screw in: The bottom cap is the bit that changes if you mess with thread tolerances. If you can't get the cap in, just modify the thread tolerance and reprint just the cap.