Ännu en fråga om tangentbordslayout
Postat: 11 sep 2010, 15:29
Har ju för några år sedan gjort min egen tangentbordslayout och den fungerar fint i de flesta fall. Har gjort den som en variant av den svenska layouten, så jag väljer den efter land genom att först välja ”Sverige” och sedan ”Sverige Johnny Rosenberg”, eller så kan jag välja den på samma sätt efter språk.
För att åstadkomma detta har jag fipplat i följande filer:
Min fru frågade mig idag om jag visste hur man enkelt kunde skriva ut en bock och jag föreslog då U+2714 som ser ut så här: ”✔”. Men då hon bara behöver detta tecken kändes det lite onödigt att göra en hel layout åt henne för bara detta tecken, så jag föreslog att vi kunde lägga dit tecknet på hennes vanliga layout, alltså den svenska standardlayouten. Exempleivs änvänder hon, liksom de flesta, aldrig ”¨” och hon har inget behov av att slänga sig med tecken som ïÿü och så vidare. Ü och ü kan man ju dessutom enkelt få fram med compose-tangenten om det skulle knipa (Compose " u).
Så nu börjar vi närma oss min fråga här, någon kvar som fortfarande läser?
Så här ser början av /usr/share/X11/xkb/symbols/se ut:
Vad jag vill göra är att lägga till följande rad på lämpligt ställe:
Provade så här:
Resultatet blev dock att tecknet kom med på alla varianter utom Sverige → Sverige samt de som hade en egen definition av key <AD12>.
Så någon annanstans finns tydligen en definition av den svenska standardlayouten, men var? Förmodar att ”basic”, ”latin(type2)” och ”se(se)” finns definierade någonstans, men jag hittar det inte. Någon som har djupare kunskaper om detta ämne?
Problemet löstes tillfälligt genom att jag la till tecknet på ”Sverige → Eliminera stumma tangenter”, så nu får hon växla mellan den och standardlayouten efter behov, men det hade ju varit smidigare att ha tecknet i den vanliga standardlayouten.
Någon kanske säger att ”varför inte använda ”Ctrl+Shift+u 2714 ↵” varje gång tecknet behövs? Ja, det är en bra idé, men just där hon ska skriva tecknet fungerar inte Ctrl+Shift+u, nämligen i världens sämsta forum (heter ifokus om någon undrar).
Fast egentligen är det så här: Vi använder webbläsaren Opera, och där funkar inte Ctrl+Shift+u. Istället använder Opera en annan variant, nämligen <kod> Ctrl+Shift+x, exempelvis 2714 Ctrl+Shift+x för ”✔”. Men detta, i sin tur, funkar inte i ifokus… Men som synes funkar det här i alla fall…
Nåja, det var mer information än vad som behövdes.
Och visst ja, vi använder båda Ubuntu 10.04 och inga särskilda konstigheter vad jag kan komma på. Använder de vanliga förråden och inga skumma saker där heller.
För att åstadkomma detta har jag fipplat i följande filer:
- /usr/share/X11/xkb/symbols/se
- /usr/share/X11/xkb/rules/evdev.lst
- /usr/share/X11/xkb/rules/evdev.xml
Min fru frågade mig idag om jag visste hur man enkelt kunde skriva ut en bock och jag föreslog då U+2714 som ser ut så här: ”✔”. Men då hon bara behöver detta tecken kändes det lite onödigt att göra en hel layout åt henne för bara detta tecken, så jag föreslog att vi kunde lägga dit tecknet på hennes vanliga layout, alltså den svenska standardlayouten. Exempleivs änvänder hon, liksom de flesta, aldrig ”¨” och hon har inget behov av att slänga sig med tecken som ïÿü och så vidare. Ü och ü kan man ju dessutom enkelt få fram med compose-tangenten om det skulle knipa (Compose " u).
Så nu börjar vi närma oss min fråga här, någon kvar som fortfarande läser?
Så här ser början av /usr/share/X11/xkb/symbols/se ut:
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 "kpdl(comma)"
include "level3(ralt_switch)"
};
Kod: Markera allt
key <AD12> {[U2714,dead_circumflex,dead_macron,dead_caron]};
Kod: Markera allt
partial default alphanumeric_keys
xkb_symbols "basic" {
include "latin(type2)"
include "se(se)"
key <AD12> {[U2714,dead_circumflex,dead_macron,dead_caron]};
};
Så någon annanstans finns tydligen en definition av den svenska standardlayouten, men var? Förmodar att ”basic”, ”latin(type2)” och ”se(se)” finns definierade någonstans, men jag hittar det inte. Någon som har djupare kunskaper om detta ämne?
Problemet löstes tillfälligt genom att jag la till tecknet på ”Sverige → Eliminera stumma tangenter”, så nu får hon växla mellan den och standardlayouten efter behov, men det hade ju varit smidigare att ha tecknet i den vanliga standardlayouten.
Någon kanske säger att ”varför inte använda ”Ctrl+Shift+u 2714 ↵” varje gång tecknet behövs? Ja, det är en bra idé, men just där hon ska skriva tecknet fungerar inte Ctrl+Shift+u, nämligen i världens sämsta forum (heter ifokus om någon undrar).
Fast egentligen är det så här: Vi använder webbläsaren Opera, och där funkar inte Ctrl+Shift+u. Istället använder Opera en annan variant, nämligen <kod> Ctrl+Shift+x, exempelvis 2714 Ctrl+Shift+x för ”✔”. Men detta, i sin tur, funkar inte i ifokus… Men som synes funkar det här i alla fall…
Nåja, det var mer information än vad som behövdes.
Och visst ja, vi använder båda Ubuntu 10.04 och inga särskilda konstigheter vad jag kan komma på. Använder de vanliga förråden och inga skumma saker där heller.