In reply to bouldery bits:
A simple, flexible alternative is to have the compass on a cord around one's neck. Then it can be left outside the clothes, or parked inside between layers or next to the body. In recent years I have dispensed with all of that, and just keep the small, circular body of an old compass in my hip pocket, where it is very unlikely to fall out (it's half wedged in). I find I can pull that compass out and use it in a few split seconds.
For any other ancillary equipment (e.g. chalk bag, water bottles etc) dangling from my clothing, or sack, or climbing harness, I still use old carabiners - because I like to use equipment that is strong enough to be multi-purpose. (Things like key rings just don't hack it, and can break easily.) Carabiners like these are ones that are still safe enough to use for climbing or for bailing from routes (abseiling etc), but old enough not to be much of a loss. They make good "swag" for those who are good enough to pick them up! (see other thread)