Да, конечно, для начала.
Но в идеале (на дальнюю перспективу), может быть, можно было бы рассмотреть расширение функционала от кнопок. Вот, например, перечень функций кнопок из одного мною очень уважаемого проекта:
Кнопки могут быть настроены как:
Нормальная кнопка;
Тумблер на включение/отключение;
Тумблер на включение;
Тумблер на отключение;
HAT-переключатель;
Вход инкрементального энкодера (не высокоскоростного, а обычной крутилки, которая выдает при вращении в одну сторону нажатие одной кнопки, при нажатии в другую, другой).
Радиокнопка;
Фиксирующаяся кнопка последовательного переключения;
Нефиксирующаяся кнопка последовательного переключения;
5 шифтов.
Кроме того можно получать нажатия кнопки при определенных положениях оси, а так же управлять положением оси посредством двух кнопок.
Да, все таки скрывать неиспользуемые кнопки от системы.
Я говорю не о том, что весь этот функционал должен быть реализован, но может быть что то вас заинтересует, потом.
Может быть (если вам интересно) возможно обсудить передачу этой части работы кому-то (могу поговорить с кандидатурой, широко известной в узких кругах (проект FreeJoy))?
Ставите две релюшки РЭК77/4 (это если подешевле, если подороже то какой-нибудь Shnider Electric). Катушка реле на такое же напряжение, как напряжение блока питания. Запитываете катушки через нормально замкнутый контакт кнопки (грибка). Двигатели запитываете через нормально открытые контакты релюх (каждую фазу).
Это то же что восстановить автоматическое центрирование? Если нет, то это же тоже вашем списке?