CZ klavesnice

Petr Herman Petr.Herman na lfmotol.cuni.cz
Pondělí Říjen 27 15:06:44 CET 1997


Milan Zamazal wrote:
> 
> Uf!  Pro Petra Hermana: Tak tos vazne prehnal, zejmena ten bezmala 500 radkovy
> prispevek me takrka dorazil.  Ocekavam, ze to za trest vsechno sesumarizujes a
> udelas z toho strucny a jasny prehled :-),

Chlapce, spatne vidis na display nebo spatne pocitas, vem si na to wc :-)
V mem prispevku bylo 13 radek citaci a 37 mojich vlastnich radek (podpis
nepocitaje), tj. celkem 50, ne 500 radku! Tech zhruba 450 dalsich byly
pouhe poznamky POD CAROU, urcene pouze VAZNYM ZAJEMCUM :-)

Takze tu summu vseho tam uz mas, hned v prvnich 50-ti radcich, ten zbytek
za to nestoji. Sam si myslim, ze takovato forma deleni dlouhych prispevku
je ke ctenarum jeste relativne ohleduplna - kdyz nekoho ten zacatek nezaujme,
nemusi ztracet cas ctenim zbytku, a presto vi to hlavni, o co autorovi jde.

> Stav:
> - Zatim nebyly zadne namitky proti standardni klavesnici ani IBM klavesnici.
> - Neni jasne, zda k nim pridat jednu nebo vice dalsich klavesnic.

Ja mam prave z vetsiny prispevku takovy pocit, ze o to prave jde, dohodnout
se alespon jeste na jedne "programatorske" klavesnici, na ktere by byly
vsechny ASCII i ceske znaky bez nutnosti prepinat.

...
> Zde uvadim jediny zasadni argument k rozlozeni klaves, zbytek v odpovedich na
> citace uz je mene dulezity: Dle meho nazoru je velmi vhodne, aby klavesy z US
> klavesnice zustaly na svem miste, menit se mohou pouze modifikatory.

Moc mi to nepali: pokud _vsechny_ US klavesy zustanou na svem miste, tak to
bude normalni US klavesnice a neni co resit.

Ja vidim problem nasledovne:
Mejmez diskontinuum se dvema poly. Jeden pol nazvemez US klavesnici, druhy pol
klavesnici ceskou. Kdesi mezi obema poly se nachazi pomerne mohutna, nicmene
spocetna mnozina ruznych klavesnic programatorskych, ktere nazveme "relativne
rozumnymi", pripadne konvencnimi apod. Kdesi stranou se nachazi jeste mohutnejsi
mnozina ruznych klavesnic ruzne pitoresknich, ktere se moc nepodobaji ani te US,
ani ceske, a ty dovolte mi v nasi diskusi pominout.

Co jsem ani nezminil, protoze mi to pripada jasny, je, ze v tomto prostoru panuje
jakasi metrika, takze vzdalenost mezi objekty v prostoru je obecne meritelna.
Moznosti, jak zavest metriku, muze byt vice, napadaji me dva zakladni:

1) Pocet znaku, ktere se na obou klavesnicich pisou pomoci jinych klaves
2) Pocet permutaci, kterych by bylo nutno k promene jedne klavesnice v druhou.

(Priklad: v pripade, ze by byl jediny rozdil mezi dvema nejakymi klavesnicemi
QWERTY a QWERTZ, pak podle prvniho pocitani je jejich vzdalenost 2, podle druheho
pocitani 1).

Intuitivne bych ale rekl, ze pro nase dalsi potreby neni nutne uvazovat oba zpusoby
zaroven (mozna nekdo i dokaze jejich ekvivalenci vzhledem k nasemu problemu),
takze se v dalsim budu predpokladat prvni zpusob.

Samozrejme ze jedna klavesnice neni obecne jen permutaci druhe, nebot nektere
znaky se vyskytuji jen na jedne z nich a jine zase na druhe - coz je prave jaksi
ten duvod, proc nam nestaci jen jedna. Proto pro vypocet metriky zavedu zvlastni
hypotetickou klavesu "cerna dira", do ktere nahazim vsechny znaky, ktere se mi
na tu klavesnici uz nevesly.

Takze prakticky: Pokud mam pred sebou klavesnici s US/ceskym popisem, kde jsou
US klavesy namalovany cerne a ty ceke barevne, tak preve ty barevne znaky
budou zjevovat, v jakych znacich se ta ceska klavesnice lisi od US, takze
jejich pocet bude de facto udavat jejich vzajemnou metrickou vzdalenost:
napriklad 41.

Ouha! neni to tak jednoduche, protoze jsme nevzali v uvahu odlisne fungovani
mrtvych klaves. Ale nest - to zase prenecham jinemu, aby to dopracoval. Ale
abych tu uvahu dotahl aspon do toho konce, co jsem vlastne chtel na tu
Milanovu vetu odpovedet:

Oznacime-li:
(US, CS)  vzdalenost US a ceske klavesnice
(US, PRG) vzdalenost US a programatorske klavesnice
(CS, PRG) vzdalenost ceske a programatorske klavesnice

zrejme bude platit trojuhelnikova nerovnost:
	(US, PRG) + (CS, PRG) >= (US, CS)

neboli:
	epsilon = (US, PRG) + (CS, PRG) - (US, CS) > 0

Nasim prirozenym zamerem zrejme bude to epsilon mit pokud mozno male.
(Nechci tu ulohu simplifikovat na pouhe hledani minima, protoze tam hraji
ulohu jeste jine veci, a proto rikam, ze povazuji za moudre drzet
epsilon v rozume malych mezich. 

V geometricke interpretaci: budeme se snazit, aby PRG bylo v blizkosti
usecky US - CS. Tj., jinymi slovy, rozlozeni klaves na PRG bude splnovat
tu podminku, ze naprosta vetsina klaves bud znak z klavesnice US anebo CS,
a jen ve vyjimecnem a oduvodnenem pripade tomu bude jinak.

Takze na tom, myslim, bychom se mohli vesmes shodnout, nebo ne?
Myslim, ze ano.

>  Z toho
> duvodu se mi nelibi qwertz, `+' na jednicce, strednik odsunuty na apostrof a
> castecne i shift+cislice produkujici cislice misto zavinacu.

Problem, ktery tu nadhodil Milan - pokud jsem mu dobre porozumel -
by v tomto formalismu byl problem vhodneho pomeru (US, PRG) / (CS, PRG)
Jinymi slovy: ma se PRG klavesnice podobat spis US anebo CS (tj. ma jeji
rozlozeni vychazet z US anebo z CS predlohy) ?

Nebo jsem to nepochopil a jeste vic to zamotal?
Prominte mi tu snahu o formalizaci problemu, mozna jsem uplne aut.

>     PK: Ale uplne nejlepsi mi pripada jakasi kombinace obeho, kdy 1) budu moci
>     PK: svizne prepinat sem a tam a zaroven
> 
> Takove situace lze resit na urovni editoru.  Vyplnuji-li nadpis pro obrazek
> v xephemu, je mi jedno, na cem tech 10 pismen napisu.  Pisu-li program, je to
> neco jineho.  Novejsi verze emacs-czech maji podporu pro chameleonskou
> klavesnici -- uzivatel klavesnici v nekterych pripadech vubec nemusi prepinat!
> Priklad: Pisu program v C s ceskymi komentari, ceskou klavesnici chci mit prave
> v tech komentarich.  To se da v emacs-czech zaridit celkem jednoduse a nemusim
> pak klavesnice vubec prepinat. ...

Z me strany to problem vubec neresi, protoze hlavni problem u me neni, jakou klavesou
prepinat mezi ruznymi klavesnicemi. Ty odpovidas, ze zadnou, protoze to za me
prepne emacs sam. Mym problemem je, jakym zpusobem prepinat svuj maly mozek.
(Tim maly nemyslim jeho celkovou hmotnost, maly mozek je anatomicky ta cas mozku
v occipitalni casti mozkovny, ktera ma na starosti zautomatizovane motoricke pochyby
- treba kdyz jdu, nemyslim na to, jak pohybuju nohama, ale kam chci jit anebo
probiram v chuzi zcela odvisly problem, kdyz radim rychlost, nemyslim na to, jak
mam pohybovat radici pakou, kdyz chci napsat nejake slovo, nemyslim na to,
kde jsou rozlozeny klavesy, protoze jsou porad na stejnem miste.)
Takze jakym psychologickym nebo psychiatrickym nebo chirurgickym trikem docilim
toho, aby se mi ty funkce v malem mozku prepinaly podle stavu emascu?
MMCH: Mel jsme dojem, ze Emacs, bezstavovy editor, vymyslel clovek jako reakci na vi,
ktery je stavovy a z kteryho prave kvuli tem jeho stavum clovek sam prichazi do ruznych
jinych podivnych psychickych stavu. Takze mi pripada trochu jako hlazeni zvirete
proti srsti, snazit se do Emascu zase nacpat nejake stavy, aby mi psal jinak
na zacatku radku a jinak na konci.

Na to nedokazu odpovedet jinak, nez ze rikam, ze jedine reseni je mit bezstavovou
klavesnici, tj. programatorskou, alespon jako alternativu pro seniory, nebot nam
to prepinani v hlave uz tak rychle nefunguje :-(

> >>>>> "PH" == Petr Herman <Petr.Herman na lfmotol.cuni.cz> writes:
> 
>     PH: 1) Na nejakem domluvenem miste, dejme tomu /etc/kbdcz, bude nejaky
>     PH: textovy soubor, ktery bude mit treba najaky takovyhle format:
> 
> Myslim, ze napad je to v principu dobry a ze by se hodilo jej prilezitostne
> prodiskutovat v debian-devel listu.

Z dalsich prispevku jsem pochopil, ze by to mel byt problem nejen cesky a
slovensky, ale obecne vsech narodu, ktere maji vselijake tecky hacky carky
strisky krouzky vocacky kolem dokola pismenek. Takze by to obecne nemusel byt
zrovna soubor /etc/kbdcz, ale spis neco jako /etc/loc/kbd nebo tak nejak.

> >>>>> "PH" == Petr Herman <Petr.Herman na lfmotol.cuni.cz> writes:
> 
>     PH: Jedine, co bych toleroval jeste jako systemove 'ciste' reseni, je
>     PH: vyuziti CapsLocku: tem, myslim, aplikace bezne ke svym specialnim
>     PH: ucelum nevyuzivaji - nebo se mylim?
> 
> Ja ho pouzivam pomerne casto v jeho beznem vyznamu.

Bezny vyznam je CapsLock stisnout a hned uvolnit, cimz toggluju velka/mala
pismena. Nemylim-li se? V tom pripade se to netluce s tim mnou navrhovanym
vyuzitim, kdy se CapsLock drzi dole a pritom se pisou znaky, aniz by doslo
k togglovani velkych/malych.

>     PH: Nedelam si totiz iluse, ze by pro kazdeho byla nejvhodnejsi klavesnice,
>     PH: ktera vyhovuje nejvice lidem. A ani nedoufam, ze by tato 'vetsina' byla
>     PH: nadpolovicni. Takze nakonec stejne skutecna vetsina by se musela
>     PH: prizpusobovat mensine. Ale i kdyby 1 uzivatel se musel prizpusobit 9999
>     PH: jinym, tak by mi to nepripadalo zkratka fer.
> 
> Protoze nelze udelat 100 klavesnic, jinak to nejde.  Jde o to definovat nutne
> minimum.  Bude-li k tomu i nastroj pro dotatecnou konfiguraci, bude to skvele.

Jasny. Proto si myslim, ze je nutno s tim nastrojem pro dodatecnou konfiguraci
kazdopadne pocitat.

>     PH: Myslim si, ze bude dobre, kdyz se dohodneme na jedne klavesnici, ktera
>     PH: bude jako defaultni, a pripadne na nekolika dalsich, ktere budou
>     PH: 'predkonfigurovane'
> 
> To ma kazdy programator tukat definice 10 klavesnic?  Dokud nebude obecne
> podporovan jednotny konfiguracni soubor (coz tak brzy nebude), melo by tech
> povinnych predkonfigurovanych klavesnic byt co nejmene.

Pokud se podari, ze se 95% lidi shodne, ze jim staci US, CS a jedna PRG
a zbyvajicich 5% si dokaze pomoci samo anebo jim nekdo pomuze, bude to skvele.
Ale jsem spis skeptik a tak si rikam, ze se vetsina tezko shodne na jednom
typu PRG. A z toho vyvozuji, ze dohodnout se tak na 2 - 3 typech PRG1 PRG2 PRG3
bude jednodussi, nez se pul roku hadat o to, ktera z nich je nejlepsi.
Coz by dohromady bylo tak 5 druhu klavesnic. A programator nebude tukat kazdou
od zacatku, ale vyjde z nejake a tu upravi, coz je podle me prace tak maximalne
na 5 - 10 minut / klavesnici  (pokud to bude muj vlastni program, ve kterem se
vyznam - daleko horsi to bude pro me jako prio uzivatele, kdyz se kvuli zmene
jedne nebo dvou nevyhovujicich klaves budu muset pul dne hrabat v cizich
zdrojakach).

>     PH: Take ten Milanuv navrh nepodporuji, ale spis proto, protoze me pripada
>     PH: divne, ze by mela jednicka byt nejakou vyjimkou mezi ostatnimi
>     PH: cislicemi.
> 
> No nemam tam dat co jineho a `1' se z cislic vyskytuje skutecne nejcasteji.

Asi jsi jediny clovek, kteremu na klavesnici prebyvaji nejake klavesy, ze nevi,
co s nima a jak je vyuzit. Pripomina mi to trochu FORTH, kteryzto jazyk
ze sve podstaty nepotrebuje pro vyjadreni struktur (na rozdil od LISPu :-) )
vubec zadne zavorky, a protoze navrhari nevedeli, co s takovou hromadou
vselijakych nevyuzitych zavorek, tak ty kulate aspon pouzivaji na komentare.

>     PH: Mrtvou klavesu pouzivam jednu universalni, a to na miste '+'
>         ...
>     PH: znaku na kraji klavesnice - rozhodl jsem se pro zpetny apostrof '`',
> 
> Takze mas opet dve mrtve klavesy a nijak moc si nepomuzes.

Pomuzu: 1) neprijdu o cenne '='
        2) Pomoci pomocne mrtve pisu radu dalsich znaku (prehlasky atd.),
           ktere budto jine klavesnice vubec neumi napsat, anebo pro ne
           pouzivaji jeste treti i ctvrtou mrtvou klavesu.

>     PH: Kdyz je tu zminka o NumLocku, otazka pro Milana: Jde to anebo nejde,
>     PH: aby Emacs mohl rozeznat cislice, psane na alfanumerice, od cislic,
>     PH: psanych na NumPadu?
> 
> V Xech bez problemu, na konzole podle meho nazoru ne, pokud se to nenastavi
> specialne v konfiguraku pro kbd.
> 
> 
>     PH: Myslim, ze shoda bude mozna stejne jen na nejakem 'Meta...', ale tu
>     PH: 'svou' klavesnici stejne nikdo za jinou nevymeni. A pokud by byl k tomu
>     PH: okolnostmi tlacen, tak skoda nejen pro nej, ale pro nas vsechny a pro
>     PH: svobodu Linuxu vubec.
> 
> Ne tak docela.  Vim, ze ty sis klavesnici z emacs-czech predefinoval,...

No prave, ze ne tak docela ke svemu uspokojeni - viz vyse. Mam radeji konsoli
nez Xy, a tam mi prave _dost_podstatne_ chybi ty cislice na NumPadu :-(
A navic v urcitych pripadech potrebuju mit barevne odlisene casti textu.
Takze u me dochazi k politovanihodne skutecnosti, ze pro psani v Emascu
radeji utikam z Linuxu do DOSu, kde ten Emacs funguje lepe :-(
Otazka do plena: nedalo by se s tou Linuxovou kosoli neco udelat, Bill se nam
smeje?

> zajimalo by me (recnicka otazka, nebombardujte me prosim maily!), kolik procent
> uzivatelu si klavesnici
> - zmenilo
> - nezmenilo, protoze jim rozlozeni bylo natolik jedno, ze nemeli chut se tim
>   zabyvat
> - nezmenilo, protoze se snazili, ale lekli se te konfigurace.
> Tipuji, ze tech prostrednich je nejvice.

Ja jsem zacal u trojky, pak se odhodlal k jednicce, a kdyz se mi to stejne nakonec
nepovedlo, tak jsem skoncil u dvojky. A kdyz uz mi to uz dost dlouho stve a musim porad
koukat po prstech, co vlastne pisu, tak rebootuju do DOSu a tam mam svaty klid, tam to
jisti osvedcene residenty podle meho gusta. Tam muzu vypnout monitor a psat poslepu,
tim se clovek docela uklidni, nekdy to zkuste, je to dobry na oci i na nervy :-)

> Ja sam uz zacinam uvazovat o zmene sve ceske klavesnice, nebot jsem se ledascim
> inspiroval.

Success, hallelujah! O to prave v diskusi jde, ne?

> A navic dalsi generace programatoru uz budou pouzivat tu jednu
> standardni programatorskou klavesnici a nebudou chapat, proc jejich predchudci
> pouzivali kazdy jinou. :-)

Ja myslim, ze jednotne klavesnice se dockame zanedlouho - jen co sem prijdou Cinani :-(

> Milan Zamazal

Petr Herman


Další informace o konferenci Linux