Полный текст

Делаем ностальгический фильмоскоп на Raspberry Pi Zero 2 WОсновой аппаратного эмулятора диафильмов выступает связка Raspberry Pi Zero 2 W и дешёвого роторного энкодера, физически имитирующего ручку прокрутки плёнки.Вместо написания низкоуровневых обработчиков сигналов GPIO логичнее использовать драйверы системы ввода Linux. Достаточно прописать оверлеи rotary-encoder и gpio-key, чтобы вращение вала распознавалось ядром как прокрутка мыши.За вывод графики отвечает SDL. Специфика реализации заключается в разделении потоков ввода: нажатия перехватываются внутри SDL, а для обработки вращения приходится напрямую обращаться к библиотеке libevdev.Рассмотрим, как правильно сконфигурировать Device Tree и написать Си-код для обработки событий энкодера.