Почему существует ограничение в 4 раскладки для клавиатур?

Я только что обнаружил, что не могу добавить более 4 раскладок для своей клавиатуры. Поиск в Google показал, что это был универсальный предел (по крайней мере, для GNU / Linux), и единственный (-ые) способ (-ы) обойти его - использовать какой-то хакерский способ со скриптами. Есть ли техническая причина этого? Если да, что это?

9
задан 8 February 2017 в 10:00

3 ответа

Цитировать Питера Хаттерера (сотрудник Red Hat, работающий над X.Org):

Некоторая информация об этой функции и почему она еще не реализована: группа Te 4 ограничение вызвано форматом протокола. Поддержка более 4 групп может быть добавлена ​​только путем добавления дополнительных запросов и событий в XKB и переписывания клиентов для переключения на эту новую версию XKB. Кроме того, должна быть обеспечена совместимость со старым протоколом, чтобы текущие клиенты XKB по-прежнему работали правильно с новой версией XKB.

Это и сложно, и очень много времени. Добровольцы для решения этой проблемы, конечно, очень приветствуются.

[...]

Он закодирован в некоторых битах протокола, а другие биты используются для другой информации. поэтому вам нужно дополнительные байты в запросах / событиях для чего-либо выше 4, а добавление дополнительных байтов требует изменения протокола. И затем вам приходится иметь дело с теми клиентами, которые понимают только 4 группы и что с ними делать, если клавиатура находится в группе 5.

Почему у нас нет взлома над этим слоем - я не знаю ... это должно быть самое слабое ограничение за всю историю. : D

0
ответ дан 8 February 2017 в 10:00

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

http://ubuntuforums.org/showthread.php?p=10333055#post10333055

Можно заметить, что с русским можно выбрать либо «стандартную» русскую раскладку клавиатуры, либо гораздо более удобную (для тех из нас, кто изучает) фонетическую раскладку в паре с QWERTY.

Кроме того, многие из нас используют некоторую форму Дворжака, которая также занимает определенную позицию.

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

Раскладки клавиатуры:

США Дворак (программист) Шведский Немецкий Русский Русский фонетический

и есть дополнительная иконка клавиатуры с тумблер ibus для китайского пиньинь.

0
ответ дан 8 February 2017 в 10:00

Протокол выделяет два бита для переключения клавиатуры. Это на два больше, чем нужно многим людям. Большинство пользователей, которых я видел при переключении раскладки клавиатуры, используют два; локальный макет и международный макет. Международный макет обычно обрабатывает состав всех требуемых ключей. Это оставляет один лишний бит. Я видел пользователей с тремя макетами, но обычно один никогда не используется.

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

0
ответ дан 8 February 2017 в 10:00

Другие вопросы по тегам:

Похожие вопросы: