Помогите разобраться с работой кнопки питания и качельки громкости.

Я хочу понять, как работают кнопки питания и регуляторы громкости на устройствах Android, которые связаны с драйвером ядра этих клавиш.

Что происходит в драйвере ядра и загрузчике, когда я нажимаю физическую клавишу на устройстве?

Ответы (1)

Проблема с пониманием любых физических кнопок на Android заключается в том, что они чрезвычайно зависят от аппаратного обеспечения. Обычно они подключаются к какому-либо порту GPIO на процессоре приложений (AP) или сотовом процессоре (CP/модем), а на некоторых устройствах (MTK, Qualcomm) они объединены в SoC . В других устройствах есть отдельный MCU с сенсорным экраном , который также можно использовать для некоторых клавиш. Так что не зная вашего точного оборудования и его конфигурации невозможно ответить на ваш вопрос.

Ваш лучший шанс добиться успеха в понимании — загрузить исходные коды для вашего устройства/ядра и посмотреть там, в сочетании с поиском руководства по обслуживанию, которое также показывает некоторые схемы.


РЕДАКТИРОВАТЬ: Вот одна блок-схема: введите описание изображения здесь А вот еще: введите описание изображения здесь

У меня есть телефон с mt6589, также у меня есть код kerenel для того же, так что где код манипулирования ключами thoes
Как я уже сказал, без схемы почти невозможно сказать. Или вы можете искать в источниках термины, связанные с раскладкой/матрицей клавиатуры и так далее. А в худшем случае это может быть даже проприетарный код, поэтому они не являются частью исходных кодов, кроме бинарного блоба FW.