на казалось бы тривиальный вопрос ответ не совсем однозначный.
Занимался подобным при проектировании трёхвводовой системы АВР
(энергоснабжение), только там было условно "один из трёх". Идея в
двух словах в том, что сигналы с кнопок нужно заводить на МК, и там
уже обрабатывать и с МК уже давать команды на исполнительные
механизмы Обрабатывать нажатия кнопок с учётом "мёртвых времён", а ещё лучше с учётом реально сработавших механизмов по сигналам ОС (в моём случае это были контакторы и сигналы с их блок-контактов.
Любая механика, будь то кнопки, реле или прочее (да даже и электроника :) имеет вполне определённое время срабатывания. Если нужно обеспечить полную "ортогональность" работы физических компонентов, то без сигналов датчиков ОС и таймаутов - никак. А потому простейшие комбинаторные схемы обрастают кучей вспомогательных цепей и превращаются св монструознве, а потому МК :)) /на крайняк, для простой "электрики" - релейная схема с таймерами (электроннвми или механическими/пневматическими:)) но то будет в стиле 60-х 70-х годов :))/
P.S. только простая "одноранговая" система может быть работоспособной без МК или какой-то электроники. С простой механикой определённых конструктивов, к примеру кнопки с длинным ходом, когда размыкающая группа гарантированно разрывает цепь, и только через большое время длинного хода кнопки, срабатывает замыкающая группа. Но как только такая система обрастает вторым-третьим рангом элементов (ключи, реле, и прочее, со своими задержками срабатывания) - задача усложняется многократно.
на самом деле, с сигналами обратной связи фактически сработавших элементов, строится достаточно правильная и надёжная схема, и даже с не очень большим количеством компонентов, но нужны сигналы обратной связи. К примеру, если кнопка включает контактор, то нужен сигнал, что контактор-таки "отвалился" и так на всех ветках управления...