The following circuit describes a relais controller comprised of the CMOS logic CD4028B, CD4098B and the 8x-Darlington-array ULN2804.
With the touch on a tactile switch one can choose between one of four inputs to be routed to one output. To supress switching noise a output relais is temporarily muted at every switch over.
SW1 to Sw4 are mechanical or electronic tactile switches, but could also be pulsed signals from a µcontroller or a remote control.
A optional cap of 100nF connected across one of the switches sets this input as default.
The signals oof the switches are routed to the inputs A to D of the BCD-to-Decimal decoder CD4028B. Every positive pulse triggers a change of the outputs of the device. The break-before-make logic ensures that any active output is switched off before a new output swiches on. Of the 10 possible outputs only those are used that correspond with exactly one switch, resp. one input. This are the values 1, 2, 4 and 8. These outputs are fed back to their inputs via the Diodes D1 to D4. This generates a self-holdof teh chosen input after the switch is released.
Also this means that if another input switch is touched, that two inputs are fed a signal at the same. The active output then switches off. The feedback doesn´t apply any more and only the new chosen input sees a input signal and switches its associated output active.
The four outputs are routed through the Darlington-array ULN2804 which serves as relais and LED driver. It features eight independent driver channels. The inputs of teh unused channels are connected to gnd.
In place of the IC one could use discrete circuitry, like shown with R10-Q1, with R10 ~5-10kΩ and Q1 a high hfe NPN transistor like BC550C or a Darlington like a BC517 or BV27.
Due to the break-before-make logic the sensitivity against switching noise is low already. Still though a short muting of the output may be wished for and sensible. A CD40898B CMOS logic may be used. Its a Dual monostable multivibrator.
Of its two logics only one comes to use here. Remark: don´t leave the pins of the unused logic open.
When the logic device sees a trigger pulse at its +TR pin its Q output becomes low for a short period of time, defined by Rx1 and CX1. The relais driver switches the output relais off and back on after a short delay. For Rx=1MΩ and Cx=100nF results a delay of ~100ms. You find more on that in the Datasheets.
The logic receives the trigger pulse in that the ouputs 3, 5, 6 and 7 of the CD4028B are summed up by diode network D5-D9.
These outputs are only active over the short switch-over period, when more than just one input receives a signal.
If You don´t want to use this part of the circuit, then omit with IC3, Rx1, Cx1, D5-D9 and connect the input pin 5B of teh relais driver to gnd.