OSDev http://osdev.su/ |
|
Клавиатура: зачем нужен scancode set 2??? http://osdev.su/viewtopic.php?f=5&t=590 |
Страница 1 из 2 |
Автор: | suslik [ 22 июн 2012, 18:08 ] |
Заголовок сообщения: | Клавиатура: зачем нужен scancode set 2??? |
Меня очень давно мучает вопрос: зачем был введён scancode set 2 - чтобы транслировать его снова в scancode set 1??? Извините за такой вопрос - ну не могу я так... |
Автор: | suslik [ 22 июн 2012, 18:10 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Я просмотрел все источники в Сети, но так и не нашёл какого-либо объяснения. Только то, что с выходом нового IBM PC AT появился scancode set 2. А зачем - непонятно. |
Автор: | grindars [ 22 июн 2012, 18:15 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Он намного более упорядочен, чем набор 1. Трансляция предназначена для обратной совместимости: чтобы ОС, поддерживающие только первый набор, могли работать с клавиатурами, которые поддерживают только второй. На практике смысла в ней нет - все клавиатуры поддерживают первый набор и так. Лучшее описание из всех, что я видел. Вы его, вероятно, уже видели и так, но остальным пригодится. |
Автор: | suslik [ 22 июн 2012, 18:34 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Что-то я не очень ухватил идею с упорядоченностью. Я её не вижу: http://www.computer-engineering.org/ps2 ... odes2.html |
Автор: | suslik [ 22 июн 2012, 18:44 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
У меня есть сомнения правильно ли я понимаю функции контроллера 8042 на материнке. А именно: так как протокол обмена с контроллером клавиатуры 8048 последовательный, то нужно чтобы кто-то его реализовывал (сдвиговый регистр, контроль чётности, посыл команды ПОВТОРИТЬ если чётность не совпала). Ну не процессор же в самом деле?! Верно? А вот насчёт необходимости scancode set 2 остались БОЛЬШИЕ сомнения. Я верю, что должно быть логичное и простое объяснение. |
Автор: | grindars [ 22 июн 2012, 19:07 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Не даблпостите, пожалуйста. 8042 делает именно то, что вы перечислили, плюс выполняет некоторые побочные функции (вроде сброса или управления разрешением линии A20). Простое и логичное объяснение кривизне ПК-шного железа? Такого не бывает . Точно вам скажет зачем нужен был Set 2 только тот инженер IBM, что его придумал. Какой-либо серьезной причины использовать конкретный набор нет. |
Автор: | phantom-84 [ 22 июн 2012, 21:49 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
suslik писал(а): Меня очень давно мучает вопрос: зачем был введён scancode set 2 - чтобы транслировать его снова в scancode set 1??? А зачем вообще периодически отказываются от старого? Чтобы не жить в каменном веке. Кстати, я не использую "аппаратную" трансляцию, т.е. в виртуальные коды транслирую непосредственно из набора 2.
|
Автор: | suslik [ 22 июн 2012, 22:49 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Будьте так добры, поясните, чем set 2 лучше set1? Я, например, никакой разницы не вижу. Даже set2 в некотором роде хуже, поскольку при отпускании генерятся целых 2 байта, а не один. |
Автор: | SII [ 22 июн 2012, 22:52 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
Не ищите "лучше" или "хуже" -- это далеко не всегда имеется, а уж на ПК в особенности. Например, в основу первого ИБМовского ПК был положен не лучший, а худший из имевшихся тогда 16-разрядных микропроцессоров... |
Автор: | phantom-84 [ 23 июн 2012, 00:00 ] |
Заголовок сообщения: | Re: Клавиатура: зачем нужен scancode set 2??? |
suslik писал(а): Будьте так добры, поясните, чем set 2 лучше set1? Я, например, никакой разницы не вижу. Даже set2 в некотором роде хуже, поскольку при отпускании генерятся целых 2 байта, а не один. Он лучше тем, что это родной набор для современных клавиатур. Не уловил, чем конкретно тебя не устраивает префикс отпускания. Кстати, именно благодаря использованию префикса отпускания, коды нажатия в наборе 2 можно кодировать последовательно. В наборе 1 отклики клавиатуры и доп. префиксы не позволяют это сделать, например, отклик 0FAh автоматически делает бессмысленным использование кода нажатия 7Ah.
|
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |