2013-08-02 2 views
0

Для остановки автобота у нас есть 2 ifdef (CONFIG_AUTOBOOT_STOP_ [STR2 || STR1]). Это очень просто и просто реализовать. Прекращение загрузки с помощью одного «нажатия» или с помощью pharase имеет свои преимущества для пользователя. Но почему игнорируется поддержка ключевого ключа, например комбинация [ctrl + anykey]. В частности, поставщики BIOS предпочитают, по крайней мере, одновременное нажатие двух или более клавиш для остановки загрузки. Любые конкретные причины, чтобы избежать этого. Помимо простоты есть какая-то конкретная причина придерживаться этого.u-boot - поддержка управляющих символов отключена

+0

Поставщики биосов предпочитают ключ F1. Особенно, когда клавиатура не найдена. – TheCodeArtist

ответ

0

CTRL ключ является модификатором. И CTRL + KEY комбо регистр как обычный KEY пресс-конференции с дополнительными флагами для обозначения состояния клавиш-модификаторов. Читайте о модификаторах в драйверах клавиатуры в Linux kernel keyboard driver documentation.

Также проверьте это отлично article on how keyboards work.

Обработка всех модификаторов требует дополнительной сложности в коде. Загрузчики запускаются в среде с жесткими ограничениями. Особенно во встроенных системах (для которых предназначен u-boot), очень часто ожидается, что вся загрузка u-boot загрузится и запустится в пределах 64/128K ОЗУ (бинарный + стек).

Учитывая, что у нас есть> 50 уникальных клавиш на клавиатурах, прежде чем мы будем использовать модификаторы, поддержка программного обеспечения для них обычно не выполняется в u-boot.

Смежные вопросы