В чем разница между назначением клавиш X11 и назначением клавиш виртуальной консоли?

В чем разница между назначением клавиш X11 и назначением клавиш виртуальной консоли?

В Linux у нас есть X11, который управляет раскладками клавиатуры, но, к сожалению, любые изменения, внесенные там, не влияют на систему в целом, поэтому в tty вы остаетесь со стандартной qwerty, независимо от ваших предпочтений X11. Недавно я решил покопаться в tty, поэтому мне нужно было настроить там свою раскладку (neo). В конце концов, я не смог, но у меня есть эти вопросы, чтобы задать их вам:

Почему у нас есть разные файлы для описания макетов X11 и макетов консоли? Зачем нам нужны разные инструменты для управления этими макетами? Почему никто не заинтересован в изменении макетов в консоли? Администраторы серверов используют только qwerty?

Большое спасибо!

решение1

Согласившись с тем, что было бы неплохо, если бы два набора конфигураций были интегрированы вместе, есть две причины, по которым они различаются:

  • они развивались отдельно (и никто не предложил комплексного решения, которое удовлетворяло бы требованиям обоих), и
  • у них разные требования.

Виртуальные консоли Linux предоставляют терминальный интерфейс, который поддерживает POSIX termios: то, что вы могли бы считать низкоуровневымхарактерВвод/вывод. Это было четко определено к середине 1980-х годов, с технологией предыдущих 10 лет. Интерфейс termios касается управляющих символов, нескольких функций подсветки видео для одногомаленькийшрифт и т. д. Он не делает особых предположений о клавиатуре, кроме того, что она может отправлять символы.

X11 появился ближе к концу 1980-х годов и был разработан для поддержкиграфическийВвод/вывод. Он делает другие предположения, чем termios, например, графика подразумевает несколько шрифтов (и возможность отображать широкий диапазон символов). Также (из-за необходимости обработки мыши или другого указателя) ему нужны дополнительные методы для обработки ввода.

В отличие от интерфейса termios (использующего последовательность символов/байтов), X11 передает информацию пособытиякоторые содержат много информации, и события могут быть объединены способами, которые не рассматривались при разработке termios. Таким образом, вместо кодирования controlи shiftв символ, событие X11 может передатьcontrol модификаторкак одно событие, иключевой кодкак еще одно событие. Библиотеки X11 объединяют эти события.

Хотя обе технологии существовали с самого начала, X11 (даже как X386) использовался менее широко и, по сути, появился слишком поздно на несколько лет, чтобы повлиять на дизайн termios. Все это было сделано до появления Linux. Поскольку не было (и, по-видимому, не существует) альтернативного дизайна, который обеспечивал бы явное преимущество, никаких изменений с середины/конца 1990-х не было.

Дальнейшее чтение:

Связанный контент