Коли ви натискаєте клавішу на клавіатурі, вона надсилає на комп'ютер числовий код, який називається кодом сканування. Код сканування повідомляє комп’ютеру, яку клавішу натискали; наприклад, на типовій американській клавіатурі Aклавіша надсилає код сканування 30 при натисканні на неї (і 158, коли ви відпускаєте її). Драйвер клавіатури повідомляє про ці коди безпосередньо програмам, коли клавіатура знаходиться в режимі "необроблений" ("raw" означає необроблену, прямо відключену клавіатуру). Кілька програм використовують необроблений режим і роблять власну обробку клавіатури; сервер X є найбільш відомим один.
Більшість програм очікують, що при натисканні Aклавіші програма зчитує символ a
(ASCII 97) і що при натисканні Shift+ Aпрограма читає A
(ASCII 65), а при натисканні Ctrl+ Aпрограма читає Ctrl+A
символ (ASCII 1). Клавіші, які не мають асоційованих символів, надсилають евакуаційні послідовності, наприклад \e[A
для Left, де \e
символ ESC (ASCII 27). Драйвер клавіатури виконує цей переклад, коли клавіатура перебуває в режимі ASCII, який також називається режимом XLATE (скорочення "перекласти"). Режим XLATE дозволяє програмам здійснювати введення символів, ціною відсутності доступу до таких нюансів, як "Натиснута клавіша лівої кнопки" або Ctrl + Shift + A, відмінна від Ctrl + A.
kbd_mode
Дозволяє перемикатися між режимами, і показує поточний режим , якщо ви викликаєте його без будь - яких аргументів.
Чарівні комбінації клавіш SysRq призначені для відновлення після різних неприємних ситуацій. Одна з ключових комбінацій - Alt+SysRq+K
це знищення всіх програм на поточній віртуальній консолі; якщо ця програма переведе клавіатуру в неочищений режим, ви не зможете вводити рядок входу (який часто з’явиться, залежно від конфігурації вашої системи). Натискання Alt+SysRq+R
відновлює звичайний (поза X) режим ASCII, де ви можете вводити символи.