Uwaga joggerowi Linuksiarze!
23 czerwca 2009Poprosiłem Was o uwagę, bo wydaje mi się, że wspólnymi siłami i przy relatywnie niewielkim wysiłku możemy coś poprawić — ulepszyć. Cóż takiego zachciało mi się zmieniać? Chodzi o rzecz używaną przez ~99% polskich użytkowników GNU/Linuksa. Remedium jest proste, acz wymaga dyskusji co do optymalnego sposobu rozwiązania. Już wiesz o co chodzi?
Jeśli pomyślałeś o polskim layoucie klawiatury w X-ach, to zgadłeś — brawo. Wszyscy chyba kiedyś uświadamiamy sobie ograniczoność tego co oferuje nam domyślnie klawiatura skonfigurowana w środowisku graficznym jako „pl”. Nie ma znaku euro (€), ani kompletu polskich znaków cudzysłowów („«‚’»”), matematykom poskąpiono Pi (π) i znaku nierówności (≠), łacinnikom brakuje dyftongów (æ,œ), a niemieckojęzycznym scharfes S (ß).
Pomysł na odświeżenie polskiego layoutu
… przyszedł gdy kiedyś omyłkowo wcisnąłem AltGr-v i ujrzałem podwójny lewy znak cudzysłowu (o taki: “). Chwilę potem moja świadomość została wzbogacona faktem, iż prawy (”) jest dostępny spod AltGr-b. Razem z pojedynczymi znakami cudzysłowów (‘’) daje to komplet potrzebny do cytacji w wielu językach (w tym choćby angielskim) w Polsce jednak mamy lewe cudzysłowy oczywiście na dole („ i ‚) oraz zalecane są jeszcze znaki francuskie («») dla zagnieżdżonych cytacji.
Po chwili poszukiwań, ze smutkiem przekonuję się, iż francuskie znaczki cytowania zostały nadpisane w polskim schemacie przez „ż” oraz „ź”, a otwierających polskich po prostu nie ma.
Eksploracja sieci i rozwiązanie
Po zapoznaniu się z tym jak budowany jest domyślny polski schemat klawiatury w X-ach (najpierw pobierany jest schemat „latin”, a potem nakładane na niego poprawki w postaci polskich „ogonków”), uznałem, że przecież wystarczy poprawić plik z polskimi poprawkami, wygenerować łatkę i wysłać ją do zarządzających xkeyboard-config (FreeDesktop.org)
Jedna ze złotych zasad mruwka głosi: „Przed «porywaniem się z motyką na Słońce» warto sprawdzić czy aby ktoś nie pomyślał o tym samym przed Tobą i nie opracował jakiegoś rozwiązania”. Sprawdziłem zatem bugtrackera FreeDesktop.org i odnalazłem tam takiego ponad trzyletniego, wciąż otwartego buga, który czeka na ostateczną łatkę (co przyznaje jeden z rozwijających na samym dole komentarzy). Wspaniałą robotę wykonał w roku 2006. Marek Madej publikując tam swoje łatki i uzasadnienie dla nich. Ja w zasadzie tylko delikatnie zmodyfikowałem jego pomysł.
Kurtyna w górę!
Czas na prezentację proponowanych przeze mnie zmian:
Aktualizacja:
po dyskusji jaka wywiązała się w komentarzach opracowałem nową łatkę, dodającą tylko naprawdę istotne znaki. Rezyduje ona sobie na wiki założonym zgodnie z obietnicą daną w jednym z moich komentarzy pod notką.
-------------+-------------------+----------------+------------+---------------------------
CHARACTER | NEW POSITION | LATIN KBD POS. | REPLACES | REASON
-------------+-------------------+----------------+------------+---------------------------
cent | AltGr-Shift-Tilde | AltGr-c | notsign | AltGr-c used for cacute,
| | | | notsign is at AltGr-Tilde
-------------+-------------------+----------------+------------+---------------------------
EuroSign | AltGr-5 | usual at | onehalf | AltGr-e used for eogonek,
| | AltGr-e | | Kbds being sold in PL
| | | | have € engraved on <AE05>,
| | | | onehalf moved at AltGr-7
-------------+-------------------+----------------+------------+---------------------------
onehalf | AltGr-7 | AltGr-5 | braceleft | see above about EuroSign,
| | | | braceleft duplicated
-------------+-------------------+----------------+------------+---------------------------
infinity | AltGr-8 | none |bracketleft | bracketleft duplicated
-------------+-------------------+----------------+------------+---------------------------
guillemotleft| AltGr-9 | AltGr-z |bracketright| AltGr-z used for zabovedot
| | | | bracketright duplicated
-------------+-------------------+----------------+------------+---------------------------
guillemotright| AltGr-0 | AltGr-x | braceright |AltGr-x used for zacute,
| | | | braceright duplicated
-------------+-------------------+----------------+------------+---------------------------
notequal | AltGr-Minus | none |backslash | backslash duplicated
-------------+-------------------+----------------+------------+---------------------------
copyright | AltGr-q | AltGr-C | at | AltGr-C used for Cacute,
| | | | at duplicated
-------------+-------------------+----------------+------------+---------------------------
ae/AE | AltGr-w/W | AltGr-a/A | lstroke/ | AltGr-a/A user for a/A
| | | Lstroke | a/Aogonek, l/Lstroke
| | | | duplicated
-------------+-------------------+----------------+------------+---------------------------
Greek_pi | AltGr-p | none | thorn | thorn is not very useful
| | | | in PL and moved at AltGr-K
-------------+-------------------+----------------+------------+---------------------------
ssharp | AltGr-P | AltGr-s | THORN | AltGr-s used for sacute,
| | | | THORN not very useful in
| | | | PL and still possible with
| | | | CapsLocked AltGr-K
-------------+-------------------+----------------+------------+---------------------------
leftdouble | AltGr-f | AltGr-v | none | moved from AltGr-v
quotemark | | | |
-------------+-------------------+----------------+------------+---------------------------
leftsingle | AltGr-F | AltGr-V | none | moved from AltGr-V
quotemark | | | |
-------------+-------------------+----------------+------------+---------------------------
oslash | AltGr-j | AltGr-o | none | AltGr-o used for oacute,
| | in basic | | Ooblique possible with
| | | | CapsLocked AltGr-j
-------------+-------------------+----------------+------------+---------------------------
oe | AltGr-J | AltGr-o | none | AltGr-o used for oacute,
| | in type2 | | OE possible with
| | | | CapsLocked AltGr-J
-------------+-------------------+----------------+------------+---------------------------
thorn | AltGr-K | AltGr-p | ampersand | moved from AltGr-p,
| | | | ampersand duplicated,
| | | | THORN possible with
| | | | CapsLocked AltGr-K
-------------+-------------------+----------------+------------+---------------------------
doublelow | AltGr-v | none |leftdouble | changed to polish opening
quotemark | | |quotemark |double quote mark, original
| | | | moved to AltGr-f
-------------+-------------------+----------------+------------+---------------------------
singlelow | AltGr-V | none |leftsingle | changed to polish opening
quotemark | | |quotemark |double quote mark, original
| | | | moved to AltGr-F (shift)
-------------+-------------------+----------------+------------+---------------------------
nobreakspace | AltGr-space | none | space | very useful,
| | | |"clean" space as space
| | | | is sufficient
-------------+-------------------+----------------+------------+---------------------------
ellipsis | AltGr-Shift-space | none | none | proper ellipsis mark
A oto i łatka (/usr/share/X11/xkb/symbols/pl): pl.patch
Konkluzja
Rzetelna krytyka w połączeniu z podaniem alternatywnych rozwiązań bardzo mile widziane. Odczucia z użytkowania powyższej łatki równie mile widziane.
Moim marzeniem jest by ewentualnie dopracować, a następnie wysłać tę łatę do FreeDesktop.org do końca października, byśmy wreszcie mieli przyzwoity i użyteczny schemat klawiatury na spolonizowanych systemach linuksowych.
Pro publico bono!
trackback