Я хочу понять, как работают кнопки питания и регуляторы громкости на устройствах Android, которые связаны с драйвером ядра этих клавиш.
Что происходит в драйвере ядра и загрузчике, когда я нажимаю физическую клавишу на устройстве?
Проблема с пониманием любых физических кнопок на Android заключается в том, что они чрезвычайно зависят от аппаратного обеспечения. Обычно они подключаются к какому-либо порту GPIO на процессоре приложений (AP) или сотовом процессоре (CP/модем), а на некоторых устройствах (MTK, Qualcomm) они объединены в SoC . В других устройствах есть отдельный MCU с сенсорным экраном , который также можно использовать для некоторых клавиш. Так что не зная вашего точного оборудования и его конфигурации невозможно ответить на ваш вопрос.
Ваш лучший шанс добиться успеха в понимании — загрузить исходные коды для вашего устройства/ядра и посмотреть там, в сочетании с поиском руководства по обслуживанию, которое также показывает некоторые схемы.
РЕДАКТИРОВАТЬ: Вот одна блок-схема: А вот еще:
РРД
не2кубит