I've just fitted the Locking Tank Cap for Bonnevilles etc. sold by bellacorse.com for the very reasonable price of $19-95
It needed a small mod, (SEE WARNING BELOW) reducing the height of the air breather pipe that sticks up inside the cap recess. I measured 4.5mm with those wonderful digital calipers we have these days

, so marked & drilled 5mm to be sure, to be sure (as we say hereabouts). All good.
WARNING!! Fuel Vapours are EXPLOSIVE !!
Doing
any work on a fuel tank can be lethally dangerous if it is not COMPLETELY CLEANED beforehand of FUEL & ANY REMAINING VAPOURS.
That said, I decided to live a little dangerously & do it in situ, stuffing the filler orifice (I had only small amount of fuel) with rags & placing bike in
very well ventilated location. The temperature here was also low < 10degC. Drilled slowly & very carefully. It's easy enough to remove the swarf with the rags - do not EVEN THINK of using a powered vacuum or such. (Pulling fuel vapours into a sparking motor..!!)
Otherwise a straightforward mod.