Що таке режим сирої клавіатури?


27

У магічних комбінаціях клавіш sysrq є поєднання, alt+sysrq+rяке, згідно з Вікіпедією, робить наступне:

Переключіть клавіатуру з неочищеного режиму, режиму, який використовують такі програми, як X11 та svgalib, в режим XLATE

Що таке сирий режим? а що таке режим XLATE?

Чи можу я переключитися на режим "необроблений" після переходу в режим XLATE?

Як я можу визначити, у якому режимі працює моя клавіатура?

Відповіді:


23

Коли ви натискаєте клавішу на клавіатурі, вона надсилає на комп'ютер числовий код, який називається кодом сканування. Код сканування повідомляє комп’ютеру, яку клавішу натискали; наприклад, на типовій американській клавіатурі 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, де ви можете вводити символи.


9

Ви можете визначити, який тип коду надсилає ваша клавіатура. Це робиться через режим клавіатури. Ви можете змінити режим клавіатури за допомогою kbd_mode.

Ось такі варіанти з сторінки вручну:

   -s: scancode mode (RAW),
   -k: keycode mode (MEDIUMRAW),
   -a: ASCII mode (XLATE),
   -u: UTF-8 mode (UNICODE).

Для розробника набагато простіше вловлювати ключові події, наприклад натиснуту ліву клавішу зсуву, якщо він може просто отримати скан-коди натиснутих клавіш.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.