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

7

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

    
задан Mussnoon 16.01.2011 в 16:38
источник

3 ответа

7

Цитата Питер Хаттерер (сотрудник Red Hat работает над X.Org):

  

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

     

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

     

[...]

     

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

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

ответ дан htorque 16.01.2011 в 17:07
источник
2

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

Ссылка

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

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

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

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

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

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

    
ответ дан Aaron 15.10.2011 в 00:47
0

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

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

    
ответ дан BillThor 16.01.2011 в 17:30