Существует единый «список» (в любой форме хранения, даже распределенный по нескольким файлам) возможных моделей, которые понимает setxbmap
. Если аргумент setxbmap -model
отсутствует в этом списке, команда setxbmap
не распознает его.
Я предполагаю (или ожидаю), что страница man
для xkeyboard-config
должна производить вывод из того же «списка» (т. Е., те же источники), что и setxbmap
(по крайней мере, при использовании конфигурации по умолчанию; я бы понял, если бы man
не знал о файлах конфигурации, добавленных пользователем) . {{ 1}} Кажется, это не так.
Команда man -P cat xkeyboard-config
не перечисляет abnt
и не перечисляет здесь , например
Но setxkbmap -model abnt ...
работает.
В этом смысле man xkeyboard-config
вводит в заблуждение.
Как можно объяснить это «несоответствие»?
После работы появился дополнительный вопрос.
Если я выполню setxkbmap -model khassss ...
(случайно придуманная модель), setxkbmap
не жалуется, и даже setxkbmap -query
печатает ... модель: khassss ...
.
Что setxkbmap
на самом деле потребуется для модели в этом случае, чтобы определить ее поведение?
Примечания :
man -P cat xkeyboard-config
не даже укажите abnt
или abnt2
в качестве макета или варианта, но я думаю, это не имеет отношения к вопросу.
Я не уверен, что моя версия играет какую-либо роль в указанном несоответствии (я ожидаю, что это не так)
$ apt-cache policy xkb-data
xkb-data: {{1 }} Установлено: 2.29-2
Кандидат: 2.29-2
Таблица версий:
*** 2.29-2 500
500 http: //ar.archive .ubuntu.com / ubuntu focal / main пакеты amd64
500 http://ar.archive.ubuntu.com/ubuntu focal / main пакетов i386
100 / var / lib / dpkg / status { {1}}
Объяснение несоответствия
man -P cat xkeyboard-config
не перечисляет abnt
, но setxkbmap -model abnt ...
работает вероятно следующее:
abnt
не существует (поэтому она не указана в команде 1), а setxkbmap -model ...
не существует выдает ошибку при использовании несуществующей любой_модели
. Наблюдение 1 поддерживается (это не может найти связанных файлов в каталоге пользователя, но у меня их нет)
$ find /usr/share/X11/xkb/ -type f -exec grep -nH --color abnt {} \;
/usr/share/X11/xkb/geometry/pc:831:xkb_geometry "abnt2" {
/usr/share/X11/xkb/geometry/pc:886:}; // End of "abnt2" geometry
/usr/share/X11/xkb/symbols/sun_vndr/br:84: xkb_symbols "abnt2" {
/usr/share/X11/xkb/symbols/sun_vndr/br:85: include "br(abnt2)"
/usr/share/X11/xkb/symbols/br:2:xkb_symbols "abnt2" {
/usr/share/X11/xkb/symbols/br:49: include "br(abnt2)"
/usr/share/X11/xkb/symbols/br:66: include "br(abnt2)"
, а наблюдение 2 подробно описано в OP.
Возможно, Гуннар Хьялмарссон упомянул об этом, но мне это было не очень понятно.
По умолчанию Португальский (Бразилия) раскладка клавиатуры разработана с учетом бразильской клавиатуры ABNT2 . Я думаю, что, учитывая наличие этого макета, можно не считать необходимым указывать abnt в качестве модели.