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

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

3 ответа

Решение

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

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

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

[...]

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

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

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

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

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

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

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

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

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

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

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

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

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