Might try a key switch out of a Mercury/Quicksilver Commander 2000 or 3000 remote control. May take some mechanical modifications but otherwise you should have have apples and apples. The switch mentioned will have one difference that you can handle one of two ways:
The difference is the choke function: On yours, you have a separate button. On the one mentioned, pushing in on the key while in the ON or Start positions will send 12v to the choking mechanism via a black/yellow wire for the remote, don't know the color on your 20 but you could look at your choking device and see what color wire is attached to it.
You could either leave your choke where it is or add the wire to the new switch and forget about your choke button. If you have a fit problem with the new switch, then you might have to remove the current choke button anyway.
Might check on here for replacement parts for the controls listed. I know they sell the whole control/cable set here on iboats as I bought one a couple of years ago. If not go www and search for something like Commander 2000 or 3000 start switch. If you don't get a pin out on the switch then just follow the wires.
Black is ground and is available when the switch is OFF to kill triggers on larger engines, probably yours too. Going to the trigger circuits it may be the yellow with a black stripe. Black goes back to "get the ground". You need to check me on the black yellow coloring. I no longer have my boat nor my manual and Merc uses black/yellow stripe and yellow/black stripe. One supplies 12v from the switch to activate the choking device when pressed, and the other supplies ground through the ignition switch to the trigger modules to kill the triggers and shut off the engine in the OFF position.
Red is 12v input to the switch from the battery source which probably is one stud of the starter solenoid....convenient junction point for 12v distribution.
Purple, or Red wire with a purple stripe is 12v out of the switch when in any position other than OFF. It is used to power accessories that you don't want active when you turn the engine off......would drain your battery over time.
Red/yellow stripe is 12v to your starter solenoid to activate it when you want to spin the engine with the starter aka start the engine.
If you don't have a wiring diagram you can just take an ohm meter (part of common digital multimeters common today) and ohm between the contacts of the switch when you rotate it through it's positions: OFF, ON, START, push to CHOKE. All supply 12v on their respective terminals when in that switch position, from where the red wire is connected to the switch except for the OFF position which supplies ground for the output.
That's about it.
HTH,
Mark