Через COM очень просто сделать. И прогу элементарно ежели использовать DirectPort компоненту - я работаю напрямую с портами LPT и COM. Теоретически можна подключить 5 кнопок (6-DSR, 8-CTS, 1-DCD, 9- Ri, 2-RD). RD надо читать по +3 смещению как BreakDetect .
Гласы о том чот при одновременном нажатии 3 кнопок будет что-то не то - неправильные. Ежели через 100k подвесить к земле каждый вход - никакой DTR или RTS они неподсадят.
Далее DTR,RTS и все описанные входы в PC являются прямыми ,а не инвертированными (1=+12б 0-12В), в отличии от пары TD-RD.
Ежели есть опасения по дребезгу - вцепи в параллель к резикам еще и кондюки нано-,пико- номиналов.
Ежели хочешь сброшу по мылу эту компоненту