Portál AbcLinuxu, 25. dubna 2024 06:11


Dotaz: KDE, xmodmap a dual head

28.3.2008 00:42 Andrej | skóre: 51 | blog: Republic of Mordor
KDE, xmodmap a dual head
Přečteno: 453×
Odpovědět | Admin

Ahoj, mám dva jednoduché dotazy ohledně klávesnice.

  1. Mám nějaké multimediální klávesy. Zprovoznil jsem je pomocí xmodmap. Fungují mi v KDE, ale jen do chvíle, než přepnu rozložení klávenice (například z českého na americké). V tom okamžiku se všechna nastavení zavedená pomocí xmodmap ztratí. Opětovné spuštění xmodmap dá situaci zase do pořádku, nejdéle však do následujícího přepnutí klávesnice. To je prostě k vzteku. Existuje na tohle nějaké řešení?

  2. Pro přepínání mezi českým a americkým rozložením mám (pochopitelně) klávesové zkratky. Ty však fungují pouze na prvním z mých dvou displayů. (Xineramu nepoužívám.) Při práci na druhém displayi KDE klávesové zkratky pro rozložení klávesnice ignoruje. (Všechny ostatní zkratky ovšem fungují na obou displayích.) Přepínání klávesnice funguje pouze na tom displayi, kde v systray běží indikátor rozložení s vlaječkou. Nevíte někdo, jak by se tohle dalo rozumně vyřešit? Není na to nějaký patch?

Za jakoukoliv radu předem děkuji. Možná se to tu už někde řešilo. Našel jsem spoustu diskusí na toto téma. Nikdo ale nezmiňuje potíže tohoto druhu, pokud vím.

Zatím mě bohužel nenapadá nic jiného než kanón na vrabce: dcop kxkb kxkb setLayout cz, případně dcop kxkb kxkb setLayout 'us(classmate)'... To ale určitě není ono. Má to pomalou odezvu.

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

andree avatar 28.3.2008 10:47 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
Odpovědět | | Sbalit | Link | Blokovat | Admin
mno podla mna na to ides v oboch pripadoch zle uz len principialne...

2) tu bude problem v tom, ze ti bezia dva konkurencne x servre (predpokladam - prejavuje sa to tak, ze nemozes presunut okno z jednej obrazovky na druhu)... nejak ma aktualne nenapada, aka heuristika (okrem toho, na ktorej z obrazoviek mas aktualne kurzor) by sa dala pouzit na to, aby iba jeden zo serverov odchytaval znaky z klavesnice (je zejme, ze oba to robit nemozu - iba ze by si chcel napr. pisat rovnake dokumenty na oboch) => ostava ti fakt jedine riesenie, ako si uz popisal - ked sa na jednom zo serverov zmeni klavesnica, poslat spravu aj druhemu, nech spravi to iste...

1) KDE, by som tipol, pouziva uz existujuce riesenie - takze asi tiez nejaky ten xmodmap, alebo nieco.. akurat holt predpoklada, ze sa o klavesnicu stara sam, takze samozrejme ze ked to ty nastavis rucne a potom chces po nom, aby spravil nieco dalsie, tak sa zachova ako vacsina klikatok - cele to prerobi podla seba... myslim ale, ze v nastaveniach (kcontrol / regional settings alebo / keyboard) sa daju pridat dodatocne prikazy pre xkb alebo co...

ps: sorry ak som ti povedal veci, ktore uz vies :o))
28.3.2008 13:04 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
mno podla mna na to ides v oboch pripadoch zle uz len principialne...
2) tu bude problem v tom, ze ti bezia dva konkurencne x servre (predpokladam - prejavuje sa to tak, ze nemozes presunut okno z jednej obrazovky na druhu)...

Ano, nemůžu přesouvat okna z jednoho displaye na druhý, protože nepoužívám a nechci používat Xineramu. Ne, neběží mi dva X-servery. Je to jeden server s jedním xorg.conf. Samozřejmě bude asi mít několik procesů, možná pro každý display zvlášť socket, ale nic víc v tom není. KDE oba displaye konfiguruje a ovládá zároveň. (Na ploše jsou stejné ikony, ale jejich rozmístění se ukládá pro každý display zvlášť. Pro každý display nejspíš musí běžet vlastní kdesktop a kicker.)

nejak ma aktualne nenapada, aka heuristika (okrem toho, na ktorej z obrazoviek mas aktualne kurzor) by sa dala pouzit na to, aby iba jeden zo serverov odchytaval znaky z klavesnice (je zejme, ze oba to robit nemozu - iba ze by si chcel napr. pisat rovnake dokumenty na oboch) => ostava ti fakt jedine riesenie, ako si uz popisal - ked sa na jednom zo serverov zmeni klavesnica, poslat spravu aj druhemu, nech spravi to iste...

Změna rozložení klávesnice je samozřejmě globální, neboť se jedná, jak už jsem psal, o jeden jediný X-server. Když na jednom displayi změním rozložení, změní se okamžitě i na tom druhém. Problém je ovšem v tom, že na druhém displayi jsou klávesové zkratky pro změnu rozložení ignorovány. Souvisí to s tím, že tam neběží ten applet pro rozložení klávesnice, který dokáže mít v rámci jednoho X-serveru jen jednu instanci, bez ohledu na to, kolik displayů ten X-server má. Takže zatímco na dispayi 0 můžu prostě a jednoduše změnit rozložení, při práci na displayi 1 musím postupovat takto: 1) zajet myší nad display 0 a kliknout tam někam, 2) použít příslušnou klávesovou zkratku, 3) vrátit se zpět na display 1. To je nepříjemný problém, protože mě to při psaní nehorázně zdržuje.

1) KDE, by som tipol, pouziva uz existujuce riesenie - takze asi tiez nejaky ten xmodmap, alebo nieco.. akurat holt predpoklada, ze sa o klavesnicu stara sam, takze samozrejme ze ked to ty nastavis rucne a potom chces po nom, aby spravil nieco dalsie, tak sa zachova ako vacsina klikatok - cele to prerobi podla seba... myslim ale, ze v nastaveniach (kcontrol / regional settings alebo / keyboard) sa daju pridat dodatocne prikazy pre xkb alebo co...

Asi to tak bude. Právě tohoto jsem se obával. Já totiž v nastaveních KDE nemůžu najít žádné místo, kam by se dal podstrčit můj alternativní soubor .Xmodmap, který by se pak přidal ke zbytku konfigurace. Jistě, můžu ho načíst při startu KDE, jenže v momentě, kdy se přepne rozložení klávesnice, přemapuje KDE nejspíš všechno podle nějakých svých hloupých nápadů a moje mapování se ztratí.

Tak mě napadá: V KDE se přece nastavuje typ klávesnice a k němu musí někde existovat textové konfigurační soubory, kterými by se mělo to mapování vytvářet. Třeba zrovna ve formátu vhodém pro xmodmap. Tam bych možná mohl k nějakému obecnému typu klávesnice svá mapování přidat, aby se pak při přepínání rozložení neztrácela. Typ klávesnice, který používám, bohužel přímo v KDE na výběr není.

andree avatar 28.3.2008 23:44 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
ano - ale to ze mas jeden konfigurak neznamena, ze ti bezi iba jeden server (vid ps ax|grep X)... tie screeny budes mat pravdepodobne oznacene ako localhost:0.0 a :0.1 (alebo obdobne). Neviem, byt tebou si nastudujem ako sa to konfiguruje (navodov ako "multimonitor linux" je na googli milion), a potom ako to vlastne bezi u teba - teda, za predpokladu ze si to len "nejak nastavil, aby to nieco robilo". Ak vies co si robil, znovu sorry...

ale inak do toho presne sedi to spravanie, ktore popisujes - ze skratky odchytava iba "primarna cast" xservera (podla mna prvy z tych 2 xserverov)... preco vlastne nechces xineramu?

co sa nastavovania tych klavesnic tyka, to fakt neviem - ale tiez pochybujem, ze by to neslo, na to je KDE az prilis konfigurovatelne... pri zmene klavesnice sa predsa iba vola nejaky prikaz (u mna napr. pri prepnuti na slovensku setxkbmap -model pc104 -layout sk -variant qwerty - vid kcontrol/regional.../keyboard layout); neviem sice ako sa da zmenit priamo, ale urcite to tiez pojde - vyrobenim vlastnej definicie klavesnice alebo nejak podobne... google... :-)

good luck
29.3.2008 01:23 Andrej | skóre: 51 | blog: Republic of Mordor
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
ano - ale to ze mas jeden konfigurak neznamena, ze ti bezi iba jeden server (vid ps ax|grep X)...

Běží samozřejmě jeden X server, jak už jsem psal. Není sebemenší důvod mít víc X-serverů. To se dělá jedině tam, kde na jednom počítači pracuje víc lidí naráz a každý má vlastní myš, klávesnici a monitor. To ale pak není ani multi head rozložení, ani můj případ. Jmenuje se to multi head právě proto, že na jednom X-serveru je několik displayů.

ale inak do toho presne sedi to spravanie, ktore popisujes - ze skratky odchytava iba "primarna cast" xservera (podla mna prvy z tych 2 xserverov)... preco vlastne nechces xineramu?

Žádné dva X-servery neexistují. Multi head konfigurace je o tom, že běží jeden X-server. Jsou to jednoduché počty: jeden uživatel, jeden X-server.

Zkratky většinou neodchytává X-server. Ten je prostě dostane a pošle dál programům, které o ně mají zájem. Jedním z nich je applet KDE pro přepínání klávesnice. Applet ale běží jen v jedné instanci na jednom z displayů. Mění samozřejmě rozložení obou displayů (celého X-serveru) najednou, protože tam je (potřetí opakuji) jeden X-server. Ale zkratky odchytává jen na primárním displayi.

Xineramu nechci, protože je to (ve srovnání s proprietárními multi head rozloženími od ATI a NVidia) nepoužitelné řešení. Xinerama je dobrá tam, kde má člověk dvě grafické karty a dva stejné, stejně orientované displaye. Nic z toho není můj případ. Mám jednu grafickou kartu s dual head výstupem (notebook) a mám interní display 1024x768 (vodorovně) a externí 1680x1050 (svisle).

Xinerama přináší dva podstatné problémy: Zaprvé, (pochopitelně) není možné mít na každém displayi nastavené jiné rozlišení. Nemluvím o rozlišení v pixelech, to samozřejmě může být různé. Mluvím o dpi a tím i o škálování písma a dalších s tím souvisejících záležitostech. Zadruhé, neumí jeden display otočit svisle a druhý ponechat vodorovně. Přesněji řečeno, pokus o otočení dopadne tragicky, protože se pokouší otočit najednou celý velký display sestávající z obdélníků 1680x1050 a 1024x768.

Už jsem si zvykl na fakt, že při dual head konfiguraci nebudu mít (s chipsetem Intel 855GM) nikdy 3D akceleraci. Ale abych si nemohl otočit velký display svisle, to by prostě nešlo. Právě kvůli možnosti vidět co nejvíc řádků jsem si takový display pořizoval.

Příkaz setkxbmap se jistě volá z KDE, to ano. Ale nejspíš se tam někde volá (byť nepřímo) taky xmodmap, a to s nějakým defaultním nastavením, které nezahrnuje několik mých speciálních kláves. Jinak si to neumím vysvětlit.

andree avatar 29.3.2008 11:34 andree | skóre: 39 | blog: andreeeeelog
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
aha, aha.. mno.. tak to chce poslat bug report vyvojarom a sem ak mozes este pasteni xorg.conf.. mas tam 2x monitor a 2x screen? ako je mi jasne ze ti moc nepomaham zatial - ale tak co vies, mozno k niecomu dospejeme :o))
28.3.2008 21:29 Václav Mašín | skóre: 4
Rozbalit Rozbalit vše Re: KDE, xmodmap a dual head
Odpovědět | | Sbalit | Link | Blokovat | Admin
Možná by bylo řešením vypnout přepínání klávesnice pomocí KDE a používat systém přepínání rozložení kláves X serveru. Potom by se patrně nedělo to, jak se Vám teď při přepnutí klávesnice zruší ta Vaše nastavení zavedená pomocí xmodmap. Existuje pak na to i applet do panelu kkbswitch, který zobrazuje momentálně aktivní rozložení, a který umožňuje i nějaké další obvyklé nastavování.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.