По приведённой ссылке начиная с "От кодов клавиш к их значению" слишком обще ;-)
Некоторые клавиши генерят 2 или больше сканкодов (если правильно путаю, с префиксом E0h, кстати, именно это было причиной изначальной каг'тавости Ног'тон Коммандег'а от дяди Питег'а под DOS (глотал русскую "р", код которой в альтернативной кодировке аккурат E0h)), сканкод генерится на нажатие, автоповтор (если возникнет), отпускание клавиши (на отпускание приходит тот же сканкод с поднятым 8 битом, +80h). На сгенерированный сканкод дёргается аппаратное прерывание от клавиатуры, его обработчик читает из порта ввода/вывода (если не изменяет склероз 60h/64h) сканкод, сигнализирует о завершении аппаратного прерывания. Цепочка сканкодов в зависимости от различных состояний (как клавиатуры: CapsLock, NumLock, так и логических переключателей, например, AltGr - переключение языка, R/L Shift/Alt/Crl) трансформируется в тот или иной символ/код (или целые фразы).
Касательно Linux, функциональность обеспечивается ядром, таблица преобразования загружается через loadkeys (man имеется в наличии).
Думаю, для затравки пока хватит.
ps. Ах, да это пока ещё не буква на экране, на экран её нужно вывести. Бывает ввод без эха (так обычно вводятся пароли, на экран ничего не попадает), и с эхом, когда вводимое отображается на экране, но делает это уже не клавиатура и не её обработчик. Видеоадаптер имеет разные режимы, часть из них "текстовые", часть "графические".
Текстовые режимы отображают одну или несколько страниц видеопамяти (базовый адрес (в реальном режиме, в нём до сих пор стартуют x86) B800h для CGA/EGA/VGA и 8000h для монохромных, символьные разрешения 40х25, 80х25, 80х45, 80х50, 132х25, ... -- из стандартного ряда). Каждое знакоместо экрана представлено в памяти 2 байтами -- один на символ, 1 на "раскраску" - полбайта цвет символа, полбайта -- цвет фона (включая бит мигания/яркости, который может играть роль признака расширенной таблицы символов на ещё 256 символов). В этих режимах "образы" символов загружаются в специальную таблицу (или несколько) видеоадаптера, преобразование кода символа в картинку производит видеоадаптер.
В "графических" режимах видеопамять логически может быть устроена по разному, но основной признак -- растровый вывод -- нельзя записать код символа в определённую ячейку видеопамяти и увидеть его на экране, вместо этого нужно выводить его "картинку". Однако, не стоит пугаться, обычно эту функциональность берёт на себя BIOS или ОС.