OSDev

для всех
Текущее время: 30 апр 2024, 05:31

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Клавиатура: зачем нужен scancode set 2???
СообщениеДобавлено: 22 июн 2012, 18:08 

Зарегистрирован: 21 июн 2012, 14:57
Сообщения: 10
Меня очень давно мучает вопрос: зачем был введён scancode set 2 - чтобы транслировать его снова в scancode set 1??? :evil: Извините за такой вопрос - ну не могу я так...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 18:10 

Зарегистрирован: 21 июн 2012, 14:57
Сообщения: 10
Я просмотрел все источники в Сети, но так и не нашёл какого-либо объяснения. Только то, что с выходом нового IBM PC AT появился scancode set 2. А зачем - непонятно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 18:15 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Он намного более упорядочен, чем набор 1. Трансляция предназначена для обратной совместимости: чтобы ОС, поддерживающие только первый набор, могли работать с клавиатурами, которые поддерживают только второй. На практике смысла в ней нет - все клавиатуры поддерживают первый набор и так.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 18:34 

Зарегистрирован: 21 июн 2012, 14:57
Сообщения: 10
Что-то я не очень ухватил идею с упорядоченностью. Я её не вижу: http://www.computer-engineering.org/ps2 ... odes2.html


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 18:44 

Зарегистрирован: 21 июн 2012, 14:57
Сообщения: 10
У меня есть сомнения правильно ли я понимаю функции контроллера 8042 на материнке. А именно: так как протокол обмена с контроллером клавиатуры 8048 последовательный, то нужно чтобы кто-то его реализовывал (сдвиговый регистр, контроль чётности, посыл команды ПОВТОРИТЬ если чётность не совпала). Ну не процессор же в самом деле?! Верно? А вот насчёт необходимости scancode set 2 остались БОЛЬШИЕ сомнения. Я верю, что должно быть логичное и простое объяснение.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 19:07 

Зарегистрирован: 22 май 2007, 15:29
Сообщения: 283
Не даблпостите, пожалуйста.

8042 делает именно то, что вы перечислили, плюс выполняет некоторые побочные функции (вроде сброса или управления разрешением линии A20). Простое и логичное объяснение кривизне ПК-шного железа? Такого не бывает :). Точно вам скажет зачем нужен был Set 2 только тот инженер IBM, что его придумал. Какой-либо серьезной причины использовать конкретный набор нет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 21:49 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
suslik писал(а):
Меня очень давно мучает вопрос: зачем был введён scancode set 2 - чтобы транслировать его снова в scancode set 1???
А зачем вообще периодически отказываются от старого? Чтобы не жить в каменном веке. Кстати, я не использую "аппаратную" трансляцию, т.е. в виртуальные коды транслирую непосредственно из набора 2.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 22:49 

Зарегистрирован: 21 июн 2012, 14:57
Сообщения: 10
Будьте так добры, поясните, чем set 2 лучше set1? Я, например, никакой разницы не вижу. Даже set2 в некотором роде хуже, поскольку при отпускании генерятся целых 2 байта, а не один.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 22 июн 2012, 22:52 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Не ищите "лучше" или "хуже" -- это далеко не всегда имеется, а уж на ПК в особенности. Например, в основу первого ИБМовского ПК был положен не лучший, а худший из имевшихся тогда 16-разрядных микропроцессоров...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 23 июн 2012, 00:00 

Зарегистрирован: 10 май 2007, 11:33
Сообщения: 1206
suslik писал(а):
Будьте так добры, поясните, чем set 2 лучше set1? Я, например, никакой разницы не вижу. Даже set2 в некотором роде хуже, поскольку при отпускании генерятся целых 2 байта, а не один.
Он лучше тем, что это родной набор для современных клавиатур. Не уловил, чем конкретно тебя не устраивает префикс отпускания. Кстати, именно благодаря использованию префикса отпускания, коды нажатия в наборе 2 можно кодировать последовательно. В наборе 1 отклики клавиатуры и доп. префиксы не позволяют это сделать, например, отклик 0FAh автоматически делает бессмысленным использование кода нажатия 7Ah.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB