Sida 1 av 2

.xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 14:10
av Johnny Rosenberg
Behövs inte dessa?

Varför undrar jag detta? Jo, för att överallt på nätet där det förklaras hur man mappar sina tangenter till olika tecken säger man att man ändrar det i .xmodmaprc som man lämpligen anropar från .Xsession. Båda ska tydligen ligga i ~/.

Jag har nämligen märkt att det finns en hel del dubbletter på mitt tangentbord, exempelvis hittar man € på AltGr+5 och AltGr+e, medan & hittas på såväl Shift+6 som AltGr+Shift+k. Väldigt onödigt då man istället kunde ha tillgång till fler tecken.

Sedan saknar jag tecken i Program → Tillbehör → Teckentabell, som exempelvis promille och tre punkter (...). Dessa fick jag fram med Alt+0133 (0x0085) respektive Alt+0137 (0x0089) i Windows, men det verkar som att allt mellan 0128 (0x0080) och 0159 (0x00A0) saknas i Ubuntu.

Oj, letade lite till och fann promilletecknet på 0x2030... men fortfarande inga tre punkter i alla fall... men letar fortfarande febrilt...

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 14:31
av Konservburk
Johnny Rosenberg skrev: .xmodmaprc saknas, liksom .Xsession.  Behövs inte dessa?

Varför undrar jag detta? Jo, för att överallt på nätet där det förklaras hur man mappar sina tangenter till olika tecken säger man att man ändrar det i .xmodmaprc som man lämpligen anropar från .Xsession. Båda ska tydligen ligga i ~/.
xmodmap är det gamla sättet att mappa om tangenter.  Det nya och
mer flexibla sättet är att använda xkb istället.  Att xmodmap fortfarande
är populärt beror på att det är enklare att komma igång med.

Johnny Rosenberg skrev: Sedan saknar jag tecken i Program → Tillbehör → Teckentabell, som exempelvis promille och tre punkter (...). Dessa fick jag fram med Alt+0133 (0x0085) respektive Alt+0137 (0x0089) i Windows, men det verkar som att allt mellan 0128 (0x0080) och 0159 (0x00A0) saknas i Ubuntu.
Det är för att cp1252 inte är samma sak som ISO_8859-1
http://en.wikipedia.org/wiki/cp1252
http://en.wikipedia.org/wiki/ISO_8859-1

Johnny Rosenberg skrev: Oj, letade lite till och fann promilletecknet på 0x2030... men fortfarande inga tre punkter i alla fall... men letar fortfarande febrilt...
... 0x2026

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 18:03
av Johnny Rosenberg
Konservburk skrev:
Johnny Rosenberg skrev: .xmodmaprc saknas, liksom .Xsession.  Behövs inte dessa?

Varför undrar jag detta? Jo, för att överallt på nätet där det förklaras hur man mappar sina tangenter till olika tecken säger man att man ändrar det i .xmodmaprc som man lämpligen anropar från .Xsession. Båda ska tydligen ligga i ~/.
xmodmap är det gamla sättet att mappa om tangenter.  Det nya och
mer flexibla sättet är att använda xkb istället.  Att xmodmap fortfarande
är populärt beror på att det är enklare att komma igång med.

Johnny Rosenberg skrev: Sedan saknar jag tecken i Program → Tillbehör → Teckentabell, som exempelvis promille och tre punkter (...). Dessa fick jag fram med Alt+0133 (0x0085) respektive Alt+0137 (0x0089) i Windows, men det verkar som att allt mellan 0128 (0x0080) och 0159 (0x00A0) saknas i Ubuntu.
Det är för att cp1252 inte är samma sak som ISO_8859-1
http://en.wikipedia.org/wiki/cp1252
http://en.wikipedia.org/wiki/ISO_8859-1

Johnny Rosenberg skrev: Oj, letade lite till och fann promilletecknet på 0x2030... men fortfarande inga tre punkter i alla fall... men letar fortfarande febrilt...
... 0x2026
Tyckte att de punkterna såg så stora och fyrkantiga ut, men när jag testade tecknet upptäckte jag att det nog ändå var det jag var ute efter...

En liten parentes är också att vissa tecken ser olika ut beroende på vilket teckensnitt jag använder i exempelvis OpenOffice.org. Med Arial from msttcorefonts blir tecken som ¹²³ (upphöjd etta, tvåa och trea) helt fel. Fast å andra sidan, vill man ha dessa tecken i OpenOffice.org är det kanske bättre att använda vanliga siffror och höja upp dem manuellt med Format → Tecken, men det finns säkert andra tecken som man också vill ha som man inte kan ha om man väljer Arial... Snacka om soppa, när det gäller teckensnitt och teckentabeller. Man måste använda Arial (eller Times New Roman eller liknande) för att vara kompatibel med Windowsanvändare, men man KAN inte för att vara kompatibel med UTF-8?? Vilken rävsax man sitter i, egentligen...

Försökte hitta en bra guide när det gäller manuell tangentbordskonfigurering med xkb, men har hittills bara hittat en usel sådan som föreslår att man minsan ska nöja sig med färdigkonfigurerad dynga. Jaha, och vilken av dem har de tecken jag vill ha då? Jaså INGEN? Vad förvånad jag blir... Men det MÅSTE ju finnas en fil någonstans där jag kan välja att AltGr+p ska vara en ℗, eller hur? Bara för att ta ett exempel... Eller Shift+AltGr+5 för ‰. Sedan tänkte jag byta ut samtliga siffror mot upphöjda sådana. Räcker ju att ha de vanliga siffrorna på det numeriska tangentbordet, som jag ändå använder så fort jag vill ha en siffra inbankad i något sammanhang.

Hittade faktiskt en fil som verkar innehålla någon sorts tangentkonfigurering, men den verkade mer koncentrera sig på specialtangenter som "Öka Volym" och liknande. Sådant som säkert alla utom jag använder.

Någon länk till någon bra instruktion någonstans?

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 19:46
av Konservburk
Johnny Rosenberg skrev: Försökte hitta en bra guide när det gäller manuell tangentbordskonfigurering med xkb, men har hittills bara hittat en usel sådan som föreslår att man minsan ska nöja sig med färdigkonfigurerad dynga. Jaha, och vilken av dem har de tecken jag vill ha då? Jaså INGEN? Vad förvånad jag blir... Men det MÅSTE ju finnas en fil någonstans där jag kan välja att AltGr+p ska vara en ℗, eller hur? Bara för att ta ett exempel... Eller Shift+AltGr+5 för ‰. Sedan tänkte jag byta ut samtliga siffror mot upphöjda sådana. Räcker ju att ha de vanliga siffrorna på det numeriska tangentbordet, som jag ändå använder så fort jag vill ha en siffra inbankad i något sammanhang.
Jag känner tyvärr inte till någon bra xkb-guide.  Men det är inte jättesvårt
om man tittar på hur andra xkb-filer är gjorda.  Du vill ha något i stil med:

Kod: Markera allt

partial alphanumeric_keys
xkb_symbols "johnny" {
    name[Group1]="Sweden - Johnny";

    include "se"

    key <AE01> {[ onesuperior,   exclam,     exclamdown                   ]};
    key <AE02> {[ twosuperior,   quotedbl,   at                           ]};
    key <AE03> {[ threesuperior, numbersign, sterling                     ]};
    key <AE04> {[ foursuperior,  currency,   dollar,       onequarter     ]};
    key <AE05> {[ fivesuperior,  percent,    EuroSign,     U2030          ]};
    key <AE06> {[ sixsuperior,   ampersand,  yen,          fiveeighths    ]};
    key <AE07> {[ sevensuperior, slash,      braceleft,    division       ]};
    key <AE08> {[ eightsuperior, parenleft,  bracketleft,  guillemotleft  ]};
    key <AE09> {[ ninesuperior,  parenright, bracketright, guillemotright ]};
    key <AE10> {[ zerosuperior,  equal,      braceright,   degree         ]};

    key <AD10> {[ p, P, U2117 ]};
};
Jag skrev lite om hur man får igång det hela i den här tråden:
http://ubuntu-se.org/smf/index.php/topic,18666.0.html

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 23:08
av Johnny Rosenberg
Okej, den filen har jag sett, men där blev det stopp av den enkla anledningen att jag inte vet vad alla tecken heter exakt, samt att jag inte vet vad exempelvis AE01 är för en tangent, bortsett från att man kan lista ut det i några fall i den existerande filen, MEN alla tangenters definitioner är ju inte med där! Man märker verkligen att Linux-folket verkligen gör precis ALLT för att så få som möjligt ska kunna pilla med de väsentliga detaljerna...

Nåja, det är ju i alla fall ingen binärfil. Alltid något. Kan jag hitta en lista någonstans med alla tangentkoder (av typen AE01 o.s.v.) och alla tecken (exemplevis braceright och allt vad de heter)? Måste ju bli en gigantisk lista, med tanke på alla tiotusentals tecken som finns enligt UTF-8. Förresten oj... såg just att man tydlilgen kan skriva exempelvis U2030, vilket ju är ett av tecknen vi diskuterade tidigare. Det hjälper mig faktiskt oerhört! Men fortfarande skulle det vara bra att veta vad alla tangenter heter och vilka som är vilka... Är det något system som att första raden börjar på AE medan andra börjar på något annat och så vidare? Hm... andra raden verkar ju vara AD10 ser jag ju nu... Till vänster om ettan finns ju också en tangent. AE00? Hm...

Ursäkta att jag skriver lika ostrukturerat som jag pratar...

Ska forska lite själv nu i det hela i alla fall.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 20 jan 2008, 23:50
av Konservburk
Johnny Rosenberg skrev: Okej, den filen har jag sett, men där blev det stopp av den enkla anledningen att jag inte vet vad alla tecken heter exakt, samt att jag inte vet vad exempelvis AE01 är för en tangent, bortsett från att man kan lista ut det i några fall i den existerande filen, MEN alla tangenters definitioner är ju inte med där! Man märker verkligen att Linux-folket verkligen gör precis ALLT för att så få som möjligt ska kunna pilla med de väsentliga detaljerna...
Jag tvivlar på att du har sett den filen eftersom jag just skrev den åt dig.
DVS de mappningar som du ville ha: Upphöjda siffror istället för vanliga
siffror, prommille (U2030) på altgr+shift+5 och U2117 på altgr+p.

Använd xkbprint för att få reda på vad tangeterna heter:

Kod: Markera allt

xkbprint -label name $DISPLAY tangenter.ps
Då får du en fil, tangenter.ps, som du öppnar med gv eller ggv.
Johnny Rosenberg skrev: Nåja, det är ju i alla fall ingen binärfil. Alltid något. Kan jag hitta en lista någonstans med alla tangentkoder (av typen AE01 o.s.v.) och alla tecken (exemplevis braceright och allt vad de heter)? Måste ju bli en gigantisk lista, med tanke på alla tiotusentals tecken som finns enligt UTF-8. Förresten oj... såg just att man tydlilgen kan skriva exempelvis U2030, vilket ju är ett av tecknen vi diskuterade tidigare. Det hjälper mig faktiskt oerhört! Men fortfarande skulle det vara bra att veta vad alla tangenter heter och vilka som är vilka... Är det något system som att första raden börjar på AE medan andra börjar på något annat och så vidare? Hm... andra raden verkar ju vara AD10 ser jag ju nu... Till vänster om ettan finns ju också en tangent. AE00? Hm...
Du kan som sagt använda unicode-nummret, t.ex. U2030.  Det finns även
en lista med namn som är lättare att förstå om man läser filen senare.
Du hittar den listan i filen /usr/include/X11/keysymdef.h

Men för att göra det lätt för dig;  Utgå från den filen jag skrev.  Läs i den
andra trånden var du ska göra med den.  Fråga om det är något du undrar.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 21 jan 2008, 20:06
av Johnny Rosenberg
Ha ha ha... nej, jag har inte sett DEN filen tidigare. Ursäkta att jag uttryckte mig lite för slarvigt där. Jag menade ju att jag sett MAPPEN där sådana filer finns, även om just DEN filen inte finns där förrän jag själv lägger dit den, eller hur jag nu kommer att göra.

Tack för alla tips! Jag tror att jag kommer att kunna gå vidare härifrån utan några större problem, annars skriver jag mer i denna tråd. Kanske lägger in ett litet inlägg när jag fått det att fungera också, om någon vill veta. Kommer dock inte att ta itu med det idag.

Vänliga hälsningar

Johnny Rosenberg

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 26 jan 2008, 22:28
av Johnny Rosenberg
Konservburk skrev: Men för att göra det lätt för dig;  Utgå från den filen jag skrev.  Läs i den
andra trånden var du ska göra med den.  Fråga om det är något du undrar.
En liten fråga faktiskt: Är det möjligt att tilldela andra knappar än de vanliga 0-9, A-Z §'^*-.,< o.s.v, valfria tecken? Kan jag exempelvis få AltGr+högerpil att skriva just en högerpil? Eller rent av AltGr+F1 att skriva ett annat tecken?

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 27 jan 2008, 20:14
av Johnny Rosenberg
Nähä, det var det ingen som visste, så jag fick experimentera själv och det gick ju som det gick. Man är ju fortfarande lite klåpare när det gäller Ubuntu.

Det lilla delproblem jag just nu har är at jag vill tilldela pilsymboler till piltangenterna enligt följande, och nu har jag valt högerpil som exempel:

Högerpil = Flytta markören ett steg åt höger
Skift+Högerpil = Flytta markören ett steg åt höger
AltGr+Högerpil = "→" (högerpiltecken, om någon inte kan se det p.g.a. fel teckenkodning)
Skift+AltGr+Högerpil = "⇨" (dubbelhögerpiltecken)

Följande skrev jag tillfälligt i min /usr/share/X11/xkb/symbols/se för att försöka åstadkomma detta:

Kod: Markera allt

    key <UP>   {[Up,             Up,             U2191,          Up             ]};
    key <LEFT> {[Left,           Left,           U2190,          U2B04          ]};
    key <DOWN> {[Down,           Down,           U2193,          Down           ]};
    key <RGHT> {[Right,          Right           U2192,          U21E8          ]};
Resultatet uteblev helt. Piltangenterna fungerade som de alltid gjort.

Det GÅR att associera piltangenterna med tecken, exempelvis så fungerar detta:

Kod: Markera allt

    key <UP>   {[1,              2,               3,              4             ]};
Men nu kan jag ju inte navigera med uppåtpil längre! Bara skriva siffror... (kanske inte världens bästa exempel, men det illustrerar i alla fall vad jag menar).

Så... HJÄLP..! Eller nåt... Men allvarligt, hur gör man?

Originalkonfigurationen av exempelvis uppåtpil ser ut så här, om ajg inte minns fel, kanske kan vara en ledtråd som jag dock inte förstår:

Kod: Markera allt

    key <UP>   {        [        Up        ]        };
Har det betydelse om man använder TAB eller mellanslag i filen där dessa rader finns? Jag har gjort lite ändringar där för att få filen snyggare och mer lättläst, nämligen, men allt annat fungerade ju trots det så det borde inte spela någon roll.


J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 27 jan 2008, 20:17
av Johnny Rosenberg
Oops... KAN ha upptäckt felet, men har inte testat än... ser att jag glömt ett kommatecken i raden

Kod: Markera allt

key <RGHT> {[Right,          Right           U2192,          U21E8          ]}; 
Ska genast ändra och se om det blir bättre...
Vad jag sett så långt är ju att om det blir det minsta fel i den filen, så vägrar en massa annat att fungera, exempelvis får jag inga åäö och så vidare... och jag har för mig att det var det som hände... ska prova igen...

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 27 jan 2008, 20:34
av Johnny Rosenberg
Jippie!

Det VAR kommatecknet som var problemet! Nu funkar det perfekt! Här är mina piltangenter med AltGr, med och utan Skift:
←↓→↑⇨⬄

Kan inte begripa varför fyra av dessa var placerade på AltGr+U, AltGr+I, AltGr+O samt AltGr+Skift+I tidigare. Var ligger logiken i det??

Nu är det dags att ta nästa steg: Att återställa originalfilen från mina vilda experiment och lägga alla ändringar i en ny fil istället som jag sedan kan enkelt kan kopiera till min andra Ubuntudator. Vet att jag måste ändra i ytterligare någon fil men jag tror att jag har lite koll på det nu i alla fall.

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 27 jan 2008, 21:09
av Konservburk
Det går framåt ser jag  :)

Nu när du har fattat grunderna så kan jag tipsa om något mer avancerat,
eller i alla fall en förklaring till positionerna: [inget, shift, altgr, shift+altgr].

Att just den andra positionen motsvarar shift + tangenten är egentligen
bara en inställning som går att definera om lite hur man vill.

Man kan t.ex. göra så här:

Kod: Markera allt

key <AE01> { type[Group1]="PC_CONTROL_LEVEL2", [ A, B ] };
Det betyder att positionerna blir [inget, ctrl], DVS tangenten ger A, och
ctrl + tangenten ger B.

"PC_CONTROL_LEVEL2" hittar du i katalogen /usr/share/X11/xkb/types.
Du kan även definera en egen variant lite hur du vill.  Jag har t.ex lagt
till en egen så att högre_shift + A skiljer sig från vänster_shift + A.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 28 jan 2008, 00:23
av Johnny Rosenberg
Konservburk skrev: Det går framåt ser jag  :)

Nu när du har fattat grunderna så kan jag tipsa om något mer avancerat,
eller i alla fall en förklaring till positionerna: [inget, shift, altgr, shift+altgr].

Att just den andra positionen motsvarar shift + tangenten är egentligen
bara en inställning som går att definera om lite hur man vill.

Man kan t.ex. göra så här:

Kod: Markera allt

key <AE01> { type[Group1]="PC_CONTROL_LEVEL2", [ A, B ] };
Det betyder att positionerna blir [inget, ctrl], DVS tangenten ger A, och
ctrl + tangenten ger B.

"PC_CONTROL_LEVEL2" hittar du i katalogen /usr/share/X11/xkb/types.
Du kan även definera en egen variant lite hur du vill.  Jag har t.ex lagt
till en egen så att högre_shift + A skiljer sig från vänster_shift + A.
Oj, var lär man sig sådant? Letar runt på hårddisken och drar sina egna slutsatser eller har du någon bra länk till något ställe där detta förklaras utförligt och från grunden?

Så om högerskift skiljer sig från vänsterskift, som du fått det att göra, betyder det att du kan få ännu fler tecken alltså? Exempelvis att du kan kombinera högerskift med AltGr och få ett tecken medan vänsterskift+AltGr blir ett annat? Hur kommer man ihåg var man lagt alla tecken..? ;) Fast man kan ju klistra lappar på tangenterna om man vill... Grekiska tecken kan man ju använda till mycket och om högerskift skiljer sig från vänsterskift så har man ju plötsligt en möjlighet att få med hela det grekiska alfabetet på samma tangenter som det vanliga alfabetet utan att det går ut över andra viktiga tecken som ∴ (matematiskt "alltså") och ☎.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 28 jan 2008, 08:53
av Konservburk
Johnny Rosenberg skrev: Oj, var lär man sig sådant? Letar runt på hårddisken och drar sina egna slutsatser eller har du någon bra länk till något ställe där detta förklaras utförligt och från grunden?
Som sagt så vet jag inte någon "bra" länk.  De officella dokumenten är
löjligt tekniska och ingenting man vill läsa som vanlig dödlig användare:

http://www.x.org/docs/XKB/


Inofficeillt refereras det ofta till det som ryssen Иван Паскаль har skrivit:

http://pascal.tsu.ru/en/xkb/


Jag lärde mig genom att läsa "An Unreliable Guide to XKB Configuration":

http://www.charvolant.org/~doug/xkb/

Johnny Rosenberg skrev: Så om högerskift skiljer sig från vänsterskift, som du fått det att göra, betyder det att du kan få ännu fler tecken alltså? Exempelvis att du kan kombinera högerskift med AltGr och få ett tecken medan vänsterskift+AltGr blir ett annat?
Det går att göra lite hur man vill.  Men ja, det går att ordna så att altgr +
vänsterskift inte ger samma tecken som altgr + högerskift.  Själv har jag
olika höger- och vänsterskift eftersom jag vill att högerskift bara ska skifta
vänstra delen av tangentbordet och tvärt om.

Johnny Rosenberg skrev: Grekiska tecken kan man ju använda till mycket och om högerskift skiljer sig från vänsterskift så har man ju plötsligt en möjlighet att få med hela det grekiska alfabetet på samma tangenter som det vanliga alfabetet utan att det går ut över andra viktiga tecken som ∴ (matematiskt "alltså") och ☎.
Det finns något som kallas "grupper" som är vettigt när du vill ha med t.ex.
grekiska eller krylliska tecken.

Hur man sedan byter mellan olika grupper och skiftnivåer är helt upp till en
själv. Inte bara när det gäller vilken/vilka tangentkombinationer som byter,
utan även om bytet ska vara vanligt (som shift), "låst" (som capslock) eller
kanske "haspat" (som compose).

Det finns dock en del fördefinerat i /usr/share/x11/xkb/symbols/group som
man kan använda sig av, t.ex:

Kod: Markera allt

include "group(ctrl_shift_toggle)"
Vilket gör så att ctrl+skift byter grupp.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 29 jan 2008, 21:48
av Johnny Rosenberg
En annan sak som jag funderar på, eftersom jag nu inte kommer på tillräckligt med tecken som jag kan tänkas behöva är om man kan lägga fler än ett tecken på en tangentkombination, exempelvis att Shift+AltGr+k blir en hel mening, inklusive radbrytningstecken och allt, exempelvis något i stil med:

Kod: Markera allt

Vänliga hälsningar

Johnny Rosenberg
Adress... bla bla bla
073-blablabla
Men det kanske är LITE mycket begärt...

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 02 feb 2008, 12:22
av Johnny Rosenberg
Okej, nu har jag en fråga till i detta ämne:

Av de filer jag titta i hittills, exempelvis se, har man ju bara angivit en liten del av alla tangenter, förmodligen de som man vill ska avvika från det som finns angivet i några include-satser.

Jag vill definiera om samtliga tangenter med tecken på, alltså A-Ö, 0-9, §, ´, ¨, ', ,, ., < samt piltangenterna och Enter. Tangenter som F1-F12, Esc, mellanslag, backspace, Num Lock, Pause, TAB och så vidare, vill jag ha som förut.

Är det några include-satser jag bör utelämna av de som finns i filen se som standard?

Här är den del av filen jag syftar på:

Kod: Markera allt

partial default alphanumeric_keys
xkb_symbols "basic" {
    include "latin(type2)"
    include "se(se)"
};

partial alphanumeric_keys
xkb_symbols "se" {

    name[Group1]="Sweden";

    key <AE05> {[5,              percent,        EuroSign,       cent            ]};
    key <AE11> {[plus,           question,       backslash,      questiondown    ]};
    key <AE12> {[dead_acute,     dead_grave,     plusminus,      notsign         ]};

    key <AC10> {[odiaeresis,     Odiaeresis,     oslash,         Ooblique        ]};
    key <AC11> {[adiaeresis,     Adiaeresis,     ae,             AE              ]};
    key <TLDE> {[section,        onehalf,        paragraph,      threequarters   ]};

    key <BKSL> {[apostrophe,     asterisk,       acute,          multiply        ]};

    key <SPCE> {[space,          space,          space,          nobreakspace    ]};

    include "keypad(comma)"

    include "level3(ralt_switch)"
}
Antar att jag bör ha med åtminstone include "level3(ralt_switch)" i min egen fil, men då jag ska ha flera olika tecken på min decimaltangent på den numeriska delen, antar jag att include "keypad(comma)" kan eller rent av bör utelämnas, eller?

Jag har inte hittat någon fil som beskriver latin(type2) respektive se(se), mest för att jag inte vetat var jag ska leta och vad filen/filerna heter...

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 02 feb 2008, 13:43
av Konservburk
Johnny Rosenberg skrev: En annan sak som jag funderar på, eftersom jag nu inte kommer på tillräckligt med tecken som jag kan tänkas behöva är om man kan lägga fler än ett tecken på en tangentkombination, exempelvis att Shift+AltGr+k blir en hel mening, inklusive radbrytningstecken och allt
Jag säger inte att det är omöjligt med xkb, men det är över min kunskapsnivå.
Men det borde gå att ordna tangentbordsmacron på ett eller annat sätt, även
om det inte är just med xkb.

Johnny Rosenberg skrev: Av de filer jag titta i hittills, exempelvis se, har man ju bara angivit en liten del av alla tangenter, förmodligen de som man vill ska avvika från det som finns angivet i några include-satser.
Rätt uppfattat.

Johnny Rosenberg skrev: Jag vill definiera om samtliga tangenter med tecken på, alltså A-Ö, 0-9, §, ´, ¨, ', ,, ., < samt piltangenterna och Enter. Tangenter som F1-F12, Esc, mellanslag, backspace, Num Lock, Pause, TAB och så vidare, vill jag ha som förut.

Är det några include-satser jag bör utelämna av de som finns i filen se som standard?
Om du inleder din egen variant med include "se" så får du den svenska layouten
att utgå ifrån.  Alla tangenter som du sedan ändrar på kommer att vara enligt din
egen definition.

Johnny Rosenberg skrev: Antar att jag bör ha med åtminstone include "level3(ralt_switch)" i min egen fil, men då jag ska ha flera olika tecken på min decimaltangent på den numeriska delen, antar jag att include "keypad(comma)" kan eller rent av bör utelämnas, eller?
Börja din egen fil med include "se" så får du både include "level3(ralt_switch)"
och include "keypad(comma)" på köpet.  Du kan sedan definera om det numeriska
tangentbordets komma bäst du vill.

Johnny Rosenberg skrev: Jag har inte hittat någon fil som beskriver latin(type2) respektive se(se), mest för att jag inte vetat var jag ska leta och vad filen/filerna heter...
En lite mer djupgående förklaring kan vara på sin plats.  Det innan parantesen är
namnet på en fil som finns i katalogen /usr/share/X11/xkb/symbols/.  Det inom
parantesen anger vilken del av filen som ska inkluderas.  Finns det ingen parantes
så är det den första delen i filen som gäller.  För att se exakt vad som inkluderas
i se-layouten kan du köra kommandot:

Kod: Markera allt

setxkbmap se -print
I mitt fall får jag:

Kod: Markera allt

        xkb_symbols   { include "pc+se+inet(evdev)"     };
Vilket är samma sak som:

Kod: Markera allt

include "pc"
include "se"
include "inet(evdev)"

DVS jag börjar titta i filen pc.  Den första delen heter "pc105", och det är den som
kommer inkluderas.  I filen se heter den första delen "basic".  Vi har alltså:

Kod: Markera allt

include "pc(105)"
include "se(basic)"
include "inet(evdev)"
Alla dessa inkluderar i sin tur annat, men för att ta exemplet med "se(basic)":

Kod: Markera allt

partial default alphanumeric_keys
xkb_symbols "basic" {
    include "latin(type2)"
    include "se(se)"
};
Där inkluderas delen "type2" från filen latin och delen "se" från filen se.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 02 feb 2008, 21:34
av Johnny Rosenberg
Okej, nu börjar det närma sig slutet här, det tar lite tid när man bara gör lite varje dag...

Så nu har jag skapat min fil som jag kallat se-Johnny och som nu ligger som en länk på samma ställe som se.

Sedan ändrade jag i de två filerna /usr/share/X11/xkb/rules/base.lst och /usr/share/X11/xkb/rules/base.xml enligt den andra tråden du nämnde att jag skulle studera. Givetvis bytte jag ut vissa saker så att det skulle passa min maskin, exempelvis heter jag inte Rasmus.

Så vad gör jag nu då? Hur väljer jag nu min tangentbordslayout? Kan i alla fall inte hitta den i System→Inställningar→Tangentbord i någon av flikarna där. Det enda jag hittar där är en möjlighet att markera något som heter Sverige under Valda layouter.

Hjälp..?

Eller har jag bara läst instruktionen slarvigt som vanligt..?

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 02 feb 2008, 21:44
av Johnny Rosenberg
Hm... kom på det... man lägger till ny och så hittade jag en som heter Johnny Rosenberg och den var det tydligen. Dock fick jag ett felmeddelande när jag skulle lägga till den, så jag antar att det smugit sig in ett och annat fel i filen jag skapade. Bara att felsöka, antar jag. Kanske ska ta bort alla rader och lägga till några i taget och se när felet uppträder och så vidare och attans vad detta kan ta tid...

J.R.

SV: .xmodmaprc saknas, liksom .Xsession

Postat: 03 feb 2008, 02:09
av Johnny Rosenberg
Nu har jag fått det mesta att fungera, men inte allt. Någon som kan hjälpa mig att få till "pricken över i"?

Så här ligger det till just nu:
Alla tecken verkar bli som de ska utom när det gäller den "numeriska" delen av tangentbordet. Siffrorna 0-9 där och kommatangenten ger de tecken jag har "beställt", så att säga, men detta gäller inte /*-+. Dessa fyra tangenter har jag tänkt skulle ge dessa tecken:

Kod: Markera allt

/, ÷, ⅕ och ⅖
*, ·, ⅗ och ⅘
-, ⅚, ₋ och ⁻
+, ⅙, ₊ och ⁺
Dock ger de bara det som står på tangenterna, av någon anledning.

En annan kul detalj är att siffrorna, exempelvis femman som ger tecknen 5,⅝,₅ och ⁵ fungerar i exempelvis GEdit men INTE i OpenOffice! Där verkar exempelvis tangent 4 fungera som vänsterpil när AltGr trycks ner. Någon som vet varför?

Så här ser min se-Johnny-fil ut:

Kod: Markera allt

partial alphanumeric_keys
xkb_symbols "se-Johnny" {

    name[Group1]="Sweden - Johnny Rosenberg";

    include "se"

    key <LSGT> {[less,                greater,             lessthanequal,       greaterthanequal    ]};
    key <AB01> {[z,                   Z,                   ssharp,              ssharp              ]};
    key <AB02> {[x,                   X,                   U2610,               U2612               ]};
    key <AB03> {[c,                   C,                   U2103,               copyright           ]};
    key <AB04> {[v,                   V,                   U2669,               U2669               ]};
    key <AB05> {[b,                   B,                   Greek_beta,          musicalflat         ]};
    key <AB06> {[n,                   N,                   U207F,               U207F               ]};
    key <AB07> {[m,                   M,                   mu,                  mu                  ]};
    key <AB08> {[comma,               semicolon,           dead_cedilla,        dead_ogonek         ]};
    key <AB09> {[period,              colon,               ellipsis,            ellipsis            ]};
    key <AB10> {[minus,               underscore,          endash,              emdash              ]};

    key <AC01> {[a,                   A,                   Greek_alpha,         Greek_alpha         ]};
    key <AC02> {[s,                   S,                   Greek_sigma,         Greek_SIGMA         ]};
    key <AC03> {[d,                   D,                   eth,                 ETH                 ]};
    key <AC04> {[f,                   F,                   Greek_phi,           U2109               ]};
    key <AC05> {[g,                   G,                   Greek_gamma,         Greek_gamma         ]};
    key <AC06> {[h,                   H,                   thorn,               THORN               ]};
    key <AC07> {[j,                   J,                   j,                   J                   ]};
    key <AC08> {[k,                   K,                   k,                   K                   ]};
    key <AC09> {[l,                   L,                   Greek_lambda,        bar                 ]};
    key <AC10> {[odiaeresis,          Odiaeresis,          oslash,              Oslash              ]};
    key <AC11> {[adiaeresis,          Adiaeresis,          ae,                  AE                  ]};

    key <BKSL> {[apostrophe,          asterisk,            U223F,               multiply            ]};
    key <RTRN> {[Return,              Return,              U21B5,               paragraph           ]};

    key <AD01> {[q,                   Q,                   q,                   Q                   ]};
    key <AD02> {[w,                   W,                   Greek_omega,         Greek_OMEGA         ]};
    key <AD03> {[e,                   E,                   EuroSign,            cent                ]};
    key <AD04> {[r,                   R,                   radical,             registered          ]};
    key <AD05> {[t,                   T,                   Greek_tau,           trademark           ]};
    key <AD06> {[y,                   Y,                   U2663,               U2662               ]};
    key <AD07> {[u,                   U,                   U2660,               U2661               ]};
    key <AD08> {[i,                   I,                   U2071,               U2139               ]};
    key <AD09> {[o,                   O,                   degree,              infinity            ]};
    key <AD10> {[p,                   P,                   Greek_pi,            phonographcopyright ]};
    key <AD11> {[aring,               Aring,               U2300,               U2295               ]};
    key <AD12> {[dead_diaeresis,      dead_asciicircum,    asciitilde,          dead_caron          ]};

    key <TLDE> {[section,             U2620,               U260F,               telephone           ]};

    key <AE01> {[U263A,               exclam,              U2639,               exclamdown          ]};
    key <AE02> {[quotedbl,            rightdoublequotemark,at,                  leftdoublequotemark ]};
    key <AE03> {[musicalsharp,        numbersign,          sterling,            U266E               ]};
    key <AE04> {[dollar,              currency,            dollar,              currency            ]};
    key <AE05> {[because,             percent,             yen,                 U2030               ]};
    key <AE06> {[therefore,           ampersand,           ampersand,           ampersand           ]};
    key <AE07> {[slash,               slash,               braceleft,           slash               ]};
    key <AE08> {[U208D,               parenleft,           bracketleft,         U207D               ]};
    key <AE09> {[U208E,               parenright,          bracketright,        U207E               ]};
    key <AE10> {[U2248,               equal,               braceright,          notequal            ]};
    key <AE11> {[plus,                question,            backslash,           questiondown        ]};
    key <AE12> {[dead_acute,          dead_grave,          acute,               grave               ]};

    key <DOWN> {[Down,                Down,                downarrow,           Down                ]};
    key <LEFT> {[Left,                Left,                leftarrow,           U2B04               ]};
    key <RGHT> {[Right,               Right,               rightarrow,          U21E8               ]};
    key <UP>   {[Up,                  Up,                  uparrow,             Up                  ]};

    key <KPDV> {[slash,               division,            onefifth,            twofifths           ]};
    key <KPMU> {[asterisk,            periodcentered,      threefifths,         fourfifths          ]};
    key <KPSU> {[minus,               fivesixths,          U208B,               U207B               ]};
    key <KPAD> {[plus,                onesixth,            U208A,               U207A               ]};
    key <KPEN> {[Return,              Return,              Return,              Return              ]};

    key <KP0>  {[0,                   plusminus,           zerosubscript,       zerosuperior        ]};
    key <KP1>  {[1,                   oneeighth,           onesubscript,        onesuperior         ]};
    key <KP2>  {[2,                   onequarter,          twosubscript,        twosuperior         ]};
    key <KP3>  {[3,                   threeeighths,        threesubscript,      threesuperior       ]};
    key <KP4>  {[4,                   onehalf,             foursubscript,       foursuperior        ]};
    key <KP5>  {[5,                   fiveeighths,         fivesubscript,       fivesuperior        ]};
    key <KP6>  {[6,                   threequarters,       sixsubscript,        sixsuperior         ]};
    key <KP7>  {[7,                   seveneighths,        sevensubscript,      sevensuperior       ]};
    key <KP8>  {[8,                   onethird,            eightsubscript,      eightsuperior       ]};
    key <KP9>  {[9,                   twothirds,           ninesubscript,       ninesuperior        ]};

    key <KPDL> {[comma,               period,              U2A7D,               U2A7E               ]};
};