};
int Keyboard :: charCode [128] =
Компьютерная графика. Полигональные модели
{
О, 27, 49, 50, 51, 52, 53, 54,
55, 56, 57, 48, 45, 61, 8, 9, 113, 119, 101, 114, 116, 121,117, 105, 111, 112, 91, 93, 13, 0, 97, 115, 100, 102, 103, 104, 106, 107,108, 59,
39, 96, 0, 92, 122, 120, 99, 118,
98, 110, 109, 44, 46, 47, 0, 42,
О, 32, О, О, О, О, О, О, О, О, О, О, О, О, О, О, О, 0, 45, О, О, 0,43, О, О, О, О, О, О, О, О, О, О, О, О, О, О, О, О, О, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о, о
};
Keyboard :: Keyboard () " {
oldKbdHandler = getvect ( 9 );// save old keyboard ISR setvect ( 9, newKbdHandler);
}
Keyboard :: -Keyboard () { .
setvect ( 9, oldKbdHandler);
}
void interrupt Keyboard :: newKbdHandler (…) {
char scanCode = inportb ( 0x60 ); char otherCode = inportb ( 0x61 );
outportb ( 0x61, otherCode | 0x80 ); outportb ( 0x61, otherCode ); outportb ( 0x20, 0x20 );
keys [scanCode & 0x7F] = (scanCode & 0x80 == 0 );
}
int Keyboard :: getScanCode (int key) {
if (key < 0x0100 )
return scanCode [key]; return key » 8;
}
4.2. Мышь
Наиболее распространенным устройством ввода графической информ в ПЭВМ является мышь. При перемещении мыши и/или нажатии/отпускании мок мышь передает информацию в компьютер о своих параметрах (величине i мещения и статусе кнопок).
4. Работа с основными графическими устройствами Первый манипулятор типа мыши был разработан Дугом Энгельбартом в 1963 г. Это было аналоговое устройство, где металлические колесики были связаны с переменными резисторами. В начале 70-х гг. в исследовательском центре Palo Alto Research Center корпорации Xerox был разработан манипулятор мышь, напоминающий современные аналоги, и он был использован в компьютерной системе Alto. В 1982 г. появился манипулятор Microsoft Mouse. В начале 1983 г. Apple Computer Corporation выпустила Apple Lisa - первый компьютер с графическим пользовательским интерфейсом, в состав которого входила мышь.
Механическая и оптомеханическая мыши содержат резиновый шарик, вращение которого при перемещении мыши передается на специальные валики. Для считывания вращения этих валиков в механической мыши используется диэлектрический диск с нанесенными на него радиально расположенными контактами. При передвижении мыши происходит замыкание и размыкание контактов, генерирующие импульсы, количество которых пропорционально величине смещения мыши (рис. 4.1).