Niemiecka klawiatura i polskie litery
Michaniu i ja mamy przez przypadek/niedopatrzenie/niewiedzę niemiecki układ klawiatury w naszych N810. Niby nic strasznego – można się przyzwyczaić do zmienionych “Y” i “Z”, ale problem zaczyna się gdy zechcemy wprowadzać polskie znaki diakrytyczne. Można co prawda zainstalować polski układ klawiatury przygotowany przez Marcina Juszkiewicza, ale niestety nie jest on dostosowany do klawiatury niemieckiej i przypisuje inne znaki niż są namalowane na klawiszach.
Żeby pomóc sobie, a przy okazji może jeszcze komuś, przygotowałem własny układ klawiatury oparty na układzie niemieckim. Do zainstalownia mojego układu niezbędny jest program ukeyboard. Niestety nie udało mi sie jeszcze skontaktować z autorem, więc na razie najpierw trzeba ręcznie zmodyfikować pewien plik, by móc cieszyć się polskimi znaczkami. Może w następnych edycjach programu nie trzeba będzie dodatkowo kombinować. Ale po kolei…
Po pierwsze należy zainstalować Additonal keyboard layouts czyli “ukeyboard”. Po drugie należy zmienić plik /usr/share/X11/xkb/symbols/nokia_vndr/ukeyboard. Otóż należy do niego dodać:
// author: Pawel Dys
partial alphanumeric_keys
xkb_symbols "pl-qwertz-de" {
name[Group1] = "Polish QWERTZ (DE hw)";
include "nokia_vndr/rx-44(de)"
include "nokia_vndr/ukeyboard(base)"
key { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift ] };
modifier_map Mod3 { ISO_Level5_Shift };
// normal Shift Fn Fn+Shift Chr S+Chr Fn+Chr Fn+Shift+Chr
key { type="EIGHT_LEVEL", [ space, space, Tab, Tab, bar, bar, space, space ] };
key { type="EIGHT_LEVEL", [ e, E, 3, 3, eogonek, Eogonek, 3, 3 ] };
key { type="EIGHT_LEVEL", [ z, Z, 6, 6, zabovedot, Zabovedot, 6, 6 ] };
key { type="EIGHT_LEVEL", [ o, O, 9, 9, oacute, Oacute, 9, 9 ] };
key { type="EIGHT_LEVEL", [ a, A, exclam, exclam, aogonek, Aogonek, exclam, exclam ] };
key { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, sacute, Sacute, quotedbl, quotedbl ] };
key { type="EIGHT_LEVEL", [ g, G, percent, percent, dollar, dollar, percent, percent ] };
key { type="EIGHT_LEVEL", [ h, H, backslash, backslash, bracketleft, bracketleft, backslash, backslash ] };
key { type="EIGHT_LEVEL", [ j, J, slash, slash, bracketright, bracketright, bracketright, bracketright ] };
key { type="EIGHT_LEVEL", [ l, L, parenright, parenright, lstroke, Lstroke, parenright, parenright ] };
key { type="EIGHT_LEVEL", [ y, Y, EuroSign, EuroSign, zabovedot, Zabovedot, EuroSign, EuroSign ] };
key { type="EIGHT_LEVEL", [ x, X, asciitilde, asciitilde, zacute, Zacute, asciitilde, asciitilde ] };
key { type="EIGHT_LEVEL", [ c, C, asterisk, asterisk, cacute, Cacute, asterisk, asterisk ] };
key { type="EIGHT_LEVEL", [ n, N, less, less, nacute, Nacute, less, less ] };
key { type="EIGHT_LEVEL", [ m, M, greater, greater, dead_circumflex, dead_circumflex, greater, greater ] };
key { type="EIGHT_LEVEL", [ comma, semicolon, comma, semicolon, braceleft, braceleft, comma, semicolon ] };
key { type="EIGHT_LEVEL", [ period, colon, period, colon, braceright, braceright, period, colon ] };
key { type="EIGHT_LEVEL", [ adiaeresis, Adiaeresis, apostrophe, apostrophe, quoteleft, quoteleft, adiaeresis, Adiaeresis ] };
};
// author: Pawel Dys
partial alphanumeric_keys
xkb_symbols "pl-qwerty-de" {
name[Group1] = "Polish QWERTY (DE hw)";
include "nokia_vndr/rx-44(de)"
include "nokia_vndr/ukeyboard(base)"
key { [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift ] };
modifier_map Mod3 { ISO_Level5_Shift };
// normal Shift Fn Fn+Shift Chr S+Chr Fn+Chr Fn+Shift+Chr
key { type="EIGHT_LEVEL", [ space, space, Tab, Tab, bar, bar, space, space ] };
key { type="EIGHT_LEVEL", [ e, E, 3, 3, eogonek, Eogonek, 3, 3 ] };
key { type="EIGHT_LEVEL", [ y, Y, 6, 6, zabovedot, Zabovedot, 6, 6 ] };
key { type="EIGHT_LEVEL", [ o, O, 9, 9, oacute, Oacute, 9, 9 ] };
key { type="EIGHT_LEVEL", [ a, A, exclam, exclam, aogonek, Aogonek, exclam, exclam ] };
key { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, sacute, Sacute, quotedbl, quotedbl ] };
key { type="EIGHT_LEVEL", [ g, G, percent, percent, dollar, dollar, percent, percent ] };
key { type="EIGHT_LEVEL", [ h, H, backslash, backslash, bracketleft, bracketleft, backslash, backslash ] };
key { type="EIGHT_LEVEL", [ j, J, slash, slash, bracketright, bracketright, bracketright, bracketright ] };
key { type="EIGHT_LEVEL", [ l, L, parenright, parenright, lstroke, Lstroke, parenright, parenright ] };
key { type="EIGHT_LEVEL", [ z, Z, EuroSign, EuroSign, zabovedot, Zabovedot, EuroSign, EuroSign ] };
key { type="EIGHT_LEVEL", [ x, X, asciitilde, asciitilde, zacute, Zacute, asciitilde, asciitilde ] };
key { type="EIGHT_LEVEL", [ c, C, asterisk, asterisk, cacute, Cacute, asterisk, asterisk ] };
key { type="EIGHT_LEVEL", [ n, N, less, less, nacute, Nacute, less, less ] };
key { type="EIGHT_LEVEL", [ m, M, greater, greater, dead_circumflex, dead_circumflex, greater, greater ] };
key { type="EIGHT_LEVEL", [ comma, semicolon, comma, semicolon, braceleft, braceleft, comma, semicolon ] };
key { type="EIGHT_LEVEL", [ period, colon, period, colon, braceright, braceright, period, colon ] };
key { type="EIGHT_LEVEL", [ adiaeresis, Adiaeresis, apostrophe, apostrophe, quoteleft, quoteleft, adiaeresis, Adiaeresis ] };
};
Ten krok dla bardziej zaawansowanych będzie banalny vi czy nano, wklej i zapisz. Dla mniej zaawansowanych polecam ściągnięcie pliku na N-kę, zapisanie na “dysku” i wykonanie polecenia, które dokleja treść ściągniętego pliku do docelowego:
cat nazwa-pliku.txt >> /usr/share/X11/xkb/symbols/nokia_vndr/ukeyboard
Ostatecznie powinniście dostać zawartość pliku /usr/share/X11/xkb/symbols/nokia_vndr/ukeyboard podobną do tej.
Na koniec należy wejść do Control panelu w N-ce, wybrać pozycję Text input settings i dokonać wyboru klawiatury:
Należy wybrać “Polish QWERTZ (DE hw)” lub “Polish QWERTY (DE hw)”, która różni się przestawieniem klawiszy “Z” i “Y” (niezgodnie z nadrukiem na klawiaturze).
Od tej pory polskie litery są dostępne jako kombinacja klawisza “Chr” + “acelnosxz” w celu uzyskania małych liter oraz “Chr” + “Shift” + “acelnosxz” w celu uzyskania wielkich liter. Ponieważ nowy układ klawiatury zmienia działanie klawisza “Chr” – nie pokazuje się już mini-klawiatura ekranowa ze specjalnymi znakami, pozwoliłem sobie zrobić dodatkowe kombinacje klawiszy z przydatnymi znakami:
Chr + % -> $
Chr + h -> [
Chr + j -> ]
Chr + , -> {
Chr + . -> }
Fn + Spacja -> Tab
Chr + Spacja -> |
Chr + A-umlaut -> `
Chr + M -> ^
Ponieważ z czasem może pojawić się aktualizacja pakietu “ukeyboard”, w której nie będzie moich definicji klawiatur, należy zachować czujność. Przy aktualizacji zostanie nadpisana treść pliku /usr/share/X11/xkb/symbols/nokia_vndr/ukeyboard, a więc wyżej wymienione zmiany trzeba będzie wprowadzić ponownie. Ja ze swojej strony postaram się, by nowe układy klawiatury sprzętowej pojawiły się w kolejnych wydaniach “ukeyboard”. Na razie zapraszam do testowania.
Umieszczone w kategorii N810 How To


Nice work, ale ja bym się nie przyzwyczaił do qwertz – wolałbym nalepkę na klawiaturze
A ja się tak przyzwyczaiłem, że nie moge się odzwyczaić!!! Specjalnie po to zrobiłem dodatkowy układ QWERTY, ale tak się myliłem przy Z i Y, że wróciłem do QWERTZ
Zaznaczam, że robię to odruchowo, bo często nie patrzę na klawiaturę gdy piszę. Może mi się jakieś klepki poprzestawiały?
Aaaa, zapomniałem w poście dopisać, że klawisze “Chr”+”Z” i “Chr”+”Y” działają tak samo niezależnie od układu QWERTY/QWERTZ. To dla takich pomyleńców jak ja
Rozmawiałem z autorem ukeyboard w trakcie Maemo summit. W sobotę dostał od kogoś keymapę polską dla QWERTZ i będzie ona włączona do programu.
A jeśli chodzi o dodatkowe klawisze to warto by siąść kiedyś nad tym i ustandaryzować. Fn/Chr+Space mam akurat odwrotnie niż u Was
@Marcin J.
To ja wysłałem tą keymapę. No chyba, że dostał jeszcze inną.
A co do Fn/Chr + Space, to wiem, że u Ciebie jest inaczej, ale zmieniłem to specjalnie, bo łatwiej IHMO zapamiętać, że “Chr” + cośtam daje drukowalny znak. Poza tym częściej uzywam Tab niż “|” i wolę mniej wyginać palce w celu jego uzyskania.
Swoją drogą trzeba się nieźle nagimnastykować żeby uzyskać “ć”, nie mówiąc już o “Ć”.
@pdd: no cóż – Nokia dała ciała robiąc klawiaturę z dwoma lewymi shiftami. Gdyby było inaczej wykorzystałbym któryś Shift jako AltGr.
Problem z Shiftem byłby taki, że do uzyskania wielkiej litery trzeba by nacisnąć oboma kciukami dwa klawisze Shift i chyba nosem (!) dodatkowo literę. No chyba, że ktoś potrafi trzymać N-kę i pisać więcej niż dwoma palcami (kciukami).
Dlatego wydaje mi się, że działanie “Chr” w sąsiedztwie Shifta jest optymalne. No chyba, że ten prawy Shift zamieniony w AltGr działałby podobnie jak Shift w Nokii. Tzn. uzyskanie polskiej litery nie wymagałoby naciśnięcia jednocześnie dwóch klawiszy, ale można by najpierw nacisnąć AltGr a następnie po jego zwolnieniu literę łacińską. Mam nadzieję, że wyraziłem się jasno
Chyba sam się złapałem we własne sidła :/
Bo jeśli Shift by działał jak działa (taki jednorazowy CapsLock), to uzyskanie wielkiej polskiej litery za pomocą AltGr byłoby proste (bez przyciskania nosem): Shift, a następnie AltGr+litera.
No ale, jak na razie, to czcze gdybanie…
W nawiązaniu do moich wcześniejszych, nie do końca przemyślanych komentarzy, nie przyzwyczajony do CapsLockowatego zachowania Shifta, przetestowałem jak działa Shift (naciśnięty i puszczony) z kombinacją “Chr”+litera.
Otóż, działa jak powinien. To znaczy, gdy naciśniemy Shift, puścimy go, a następnie wciśniemy “Chr”+litera, to otrzymamy piękną WIELKĄ polską literę. Nie trzeba wciskać jednocześnie trzech klawiszy!
[...] się nowa wersja (1.7) tego programu, która zawiera polską klawiaturę QWERTZ i QWERTY dla niemieckiego układu klawiatury sprzętowej w [...]
Dodaj komentarz
Musisz być zalogowany aby dodać komentarz