Можно ли восстановить ввод с клавиатуры, сделанный во время загрузки Mac OS? - PullRequest
1 голос
/ 09 января 2010

Интересно, можно ли выяснить, какие клавиши нажимал пользователь во время запуска своей Mac OS?

Любой способ подойдет. Насколько я понимаю, не существует простого способа просто подключить приложение / скрипт, чтобы начать работать и захватывать нажатия клавиш одновременно с ОС. Но, может быть, есть какой-то способ реинжиниринга этого? Может быть, заглядывает в конкретный лог-файл или что-то в этом роде?

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

ОБНОВЛЕНИЕ: руководствуясь советами Пекки, я нашел расширение ядра, которое должно выполнить эту работу. И, надеюсь, он сделает это после следующего вопроса - Почему не работает это перехватывающее клавиатуру расширение ядра? * Ответ 1010 *. :)

Ответы [ 3 ]

1 голос
/ 10 января 2010

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

  • Если вы хотите проверить действительно рано, ваш единственный выбор - поиграть со средой EFI (прошивка) - возможно, вы могли бы изменить rEFIt , чтобы сделать то, что вы хотите?
  • После прошивки управление переходит к boot.efi (BootX на PPC Mac). Предположительно это можно заменить / взломать, и я ожидаю, что источник будет доступен как часть Дарвина , но я не вижу его при быстрой проверке.
  • После этого ядро ​​загружается (вы можете собрать свое собственное ядро) с минимальным набором кэшированных драйверов (вы можете написать драйвер, хотя и не знаете, как его кэшировать).
  • После этого все виды вещей происходят более или менее одновременно. Загружаются обычные драйверы, запускается /etc/rc.local, элементы запуска в / System / Library / LaunchDaemons и Library / LaunchDaemons становятся активными ... Если вы готовы подождать до этой фазы Процесс загрузки, у вас есть много вариантов.
1 голос
/ 10 января 2010

Я не гуру ОС, но я думаю, что очень, очень, очень трудно. Я не думаю, что подобные вещи автоматически записываются в любом месте.

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

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

0 голосов
/ 10 января 2010

Он не просто нигде не записан, довольно долго во время запуска нет драйвера клавиатуры . Таким образом, с точки зрения программного обеспечения, в течение этого интервала клавиатура просто не существует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...