Dlaczego istnieje limit 4 układów dla klawiatur?

9

Właśnie odkryłem, że nie mogę dodać więcej niż 4 układów dla mojej klawiatury. Googling ujawnił, że był to uniwersalny limit (przynajmniej dla GNU / Linuksa) i jedynym sposobem na obejście tego było użycie hakerów w skryptach. Czy jest to naprawdę techniczny powód? Jeśli tak, co to jest?

Poranek
źródło
Odpowiedź jest tutaj: askubuntu.com/questions/107945/…
Rinzwind
To ograniczenie nadal istnieje na niektórych komputerach pod koniec 2018 roku. Gnome pozwala mi konfigurować więcej układów, ale XFCE nie. Zakładam, że przynajmniej Gnome rozwiązał problem wspomniany w odpowiedzi htorque, a kod w XFCE stoi za tym, co jest możliwe na początku.
LiveWireBT,

Odpowiedzi:

9

Cytując Petera Hutterera (pracownika Red Hat pracującego nad X.Org):

Kilka informacji o tej funkcji i dlaczego nie została jeszcze zaimplementowana: Limit 4 grup jest wymuszony przez format drutu protokołu. obsługę więcej niż 4 grup można dodać tylko poprzez dodanie dodatkowych żądań i zdarzeń do XKB i przepisywanie klientów, aby przełączyć się na tę nową wersję XKB. Ponadto należy zapewnić zgodność ze starym protokołem, aby bieżący klienci XKB nadal działali poprawnie z nową wersją XKB.

Jest to zarówno złożone, jak i bardzo czasochłonne. Wolontariusze zajmujący się tym problemem są oczywiście bardzo mile widziani.

[...]

Jest zakodowany w niektórych bitach protokołu, a pozostałe bity są wykorzystywane do innych informacji. więc potrzebujesz więcej bajtów w żądaniach / zdarzeniach dla wszystkiego powyżej 4, a dodanie dodatkowych bajtów wymaga zerwania protokołu. A potem musisz poradzić sobie z klientami, którzy rozumieją tylko 4 grupy i co z nimi zrobić, jeśli klawiatura jest w grupie 5.

Dlaczego nie mamy hacka powyżej tej warstwy - nie wiem ... to musi być najlżejsze ograniczenie w historii. :RE

htorque
źródło
Jest to tym bardziej dziwne, że można użyć więcej niż 4 - za pomocą skryptów.
Poniedziałek
Jeśli jesteś na unix.se, czy możesz również zamieścić tam odpowiedź, abym mógł ją tam również zaakceptować
Mussnoon
Nie jestem, muszę sam na to odpowiedzieć. ;-)
htorque 16.01.11
3

Często piszę po angielsku, niemiecku, szwedzku i chińsku. To cztery, ale uczę się także rosyjskiego i doceniłbym dodatkowe przełączanie za pomocą GUI. Tymczasem skrypty są wykonalnym rozwiązaniem:

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

Można zauważyć, że w języku rosyjskim istnieje opcja albo „standardowego” rosyjskiego układu klawiatury, albo znacznie wygodniejszego (dla tych z nas, którzy się uczą) układu fonetycznego sparowanego z QWERTY.

Ponadto wielu z nas stosuje jakąś formę Dvoraka, która również zajmuje pozycję.

Dlatego mój komputer wygląda następująco:

Układy klawiatury:

USA Dvorak (programista) szwedzki niemiecki rosyjski rosyjski fonetyczny

i jest dodatkowa ikona klawiatury z przełącznikiem ibus dla chińskiego Pinyin.

Aaron
źródło
0

Protokół odkłada dwa bity na przełączanie klawiatury. To o dwa więcej niż potrzeba wielu ludziom. Większość użytkowników, których widziałem, przełącza układ klawiatury korzysta z dwóch; układ lokalny i układ międzynarodowy. Układ międzynarodowy zwykle obsługuje skład wszystkich wymaganych kluczy. To pozostawia jeden nadmiar. Widziałem użytkowników z trzema układami, ale zazwyczaj jeden nigdy nie jest używany.

Byłbym zainteresowany tym, co robisz, co wymaga więcej niż czterech układów i jak pracujesz z ciągle zmieniającymi się mapami klawiszy. Trudno mi przyzwyczaić użytkowników do dwóch układów, nawet jeśli rozwiązało to problemy związane z internacjonalizacją.

BillThor
źródło
4
Z całym szacunkiem nie jest to właściwa odpowiedź. Lingwiści, miłośnicy języków oraz osoby dwujęzyczne lub trzyjęzyczne, które uczą się jednego lub dwóch innych języków, potrzebują tej funkcji. Może być również potrzebny do testowania lub wypróbowywania nowych układów, takich jak Dvorak. Ale tak naprawdę nie ma znaczenia, dlaczego ludzie potrzebują więcej niż 4 układów wejściowych. Faktem jest, że tak.
Teekin
@HelgiHrafnGunnarsson Takie protokoły powstały, gdy przepustowość była dość ograniczona, a bity przydzielane rzadko. Uważam, że mój post wyjaśnia uzasadnienie, które prawdopodobnie zostało wykorzystane. Pracuję z wieloma osobami dwujęzycznymi, które pracują z jednym układem. Dostępnych jest wiele układów wielojęzycznych, które mogą być łatwiejsze do pisania niż zmiana układu przy każdej zmianie języka.
BillThor