Slovenske črke za zamejce

Slovenci ki živimo v Italiji ponavadi uporabljamo italijanske tipkovnice. Seveda pa smo v zadregi kadar hočemo kaj napisati po slovensko. V primeru da uporabljamo Linux ni velikih težav dodati mankajoče črke. V primeru da uporabljamo distribucijo Debian Lenny in delamo v okolju X11 je dovolj da popravimo datoteko /usr/share/X11/xkb/symbols/it.

V mojem primeru sem spremenil vlogo tipke "večji/manjši od" (spodaj na levi). V primeru da jo pritisnem skupaj z AltGr bo naslednja črka dobila strešico. Tako da dobim črko "č" moram pritisniti AltGr+< in nato tipko c. To je zame kar v redu ker le redko (na žalost) pišem po slovensko. S to menjavo nismo izgubili nobene črke ker v originalu nam AltGr+< da isti simbol kot AltGr+z.

Tukaj je vsebina datoteke /usr/share/X11/xkb/symbols/it na mojem računalniku:

// $XKeyboardConfig: xkeyboard-config/symbols/it,v 1.14 2008-04-12 00:24:52 svu Exp $

// based on a keyboard map from an 'xkb/symbols/it' file
// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it)
//
// $XFree86: xc/programs/xkbcomp/symbols/it,v 1.4 2003/04/19 12:22:12 pascal Exp $

partial default alphanumeric_keys
xkb_symbols "basic" {

    include "latin(type4)"

    name[Group1]="Italy";

    key 	{ [ backslash,        bar,      notsign,    brokenbar ]	};

    key 	{ [         2,   quotedbl,  twosuperior, dead_doubleacute ] };
    key 	{ [         3,   sterling,threesuperior,   dead_tilde ]	};
    key 	{ [         4,     dollar,   onequarter,    oneeighth ] };

    key 	{ [         0,      equal,   braceright,  dead_ogonek ] };
    key 	{ [apostrophe,   question,        grave, questiondown ]	};
    key 	{ [    igrave, asciicircum,  asciitilde, dead_circumflex ] };

    key 	{ [    egrave,     eacute,  bracketleft,    braceleft ]	};
    key 	{ [      plus,   asterisk, bracketright,   braceright ]	};

    key 	{ [    ograve,   ccedilla,           at, dead_cedilla ] };
    key 	{ [    agrave,     degree,   numbersign, dead_abovering ] };

    key 	{ [         n,          N,       ntilde,       Ntilde ]	};
    key 	{ [     comma,  semicolon,   dead_acute,     multiply ]	};
    key 	{ [    period,      colon,periodcentered, dead_diaeresis ] };
    key 	{ [     minus, underscore,  dead_macron,     division ] };

    key 	{ [    ugrave,    section,   dead_grave,   dead_breve ]	};

    key 	{ [      less,    greater,   dead_caron,         caron] };

    include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "nodeadkeys" {

    // Modifies the basic italian layout to eliminate all dead keys

    include "it(basic)"

    name[Group1]="Italy - Eliminate dead keys";

    key 	{ [         2,   quotedbl,  twosuperior,  doubleacute ] };
    key 	{ [         3,   sterling,threesuperior,   asciitilde ]	};

    key 	{ [         0,       equal,  braceright,       ogonek ]	};
    key 	{ [    igrave, asciicircum,  asciitilde,  asciicircum ] };

    key 	{ [    ograve,   ccedilla,           at,      cedilla ] };
    key 	{ [    agrave,     degree,   numbersign,       degree ] };

    key 	{ [     comma,  semicolon,        acute,     multiply ]	};
    key 	{ [    period,      colon,periodcentered,   diaeresis ] };
    key 	{ [     minus, underscore,       macron,     division ] };

    key 	{ [    ugrave,    section,        grave,        breve ]	};
};

// Copied from macintosh_vndr/it
partial alphanumeric_keys
xkb_symbols "mac" {

    name[Group1]= "Italy - Macintosh";

    // Alphanumeric section
    key  {	[        less,  greater   	]	};
    key  {        [        at,    numbersign,    periodcentered              ]	};
    key  {	[   ampersand,    1, guillemotleft,guillemotright	]	};
    key  {	[    quotedbl,    2 		]	};
    key  {	[  apostrophe,    3         	]	};
    key  {	[   parenleft,    4,    braceleft,    bracketleft	]	};
    key  {	[    ccedilla,    5,     Ccedilla,    Iacute	]	};
    key  {	[      egrave,    6,    paragraph,    periodcentered]	};
    key  {	[  parenright,    7,   braceright,	  bracketright	]	};
    key  {	[    sterling,    8,   infinity			]	};
    key  {	[      agrave,    9,        acute,    Ocircumflex	]	};
    key  {	[      eacute,    0,        grave,    Oacute	]	};
    key  {	[       minus,    underscore	]	};
    key  {	[       equal, 	  plus,     notequal,    plusminus	]	};

    key  {	[           q,  Q 		]	};
    key  {	[	    z,  Z		]	};
    key  {	[	    e,  E,	EuroSign	]	};
    key  {	[	    r,  R,   registered			] 	};
    key  {	[	    t,  T		]	};
    key  {	[	    y,  Y,       Uacute,	ydiaeresis      ] 	};
    key  {	[	    u,  U		]	};
    key  {	[	    i,  I,  icircumflex,	idiaeresis      ] 	};
    key  {	[	    o,  O		]	};
    key  {	[	    p,  P		]	};
    key  {	[      igrave,  asciicircum     ]	};
    key  {	[      dollar,	asterisk        ]	};
    key  {	[     section,  degree,           at,  numbersign      ]	};

    key  {	[	  a,	A,      aring,   Aring		] 	};
    key  {	[	  s,	S,     ssharp			]	};
    key  {	[	  d,	D		]	};
    key  {	[	  f,	F		]	};
    key  {	[	  g,	G		]	};
    key  {	[	  h,	H,     Igrave,    Icircumflex     ]	};
    key  {	[	  j,	J,  Idiaeresis,   Iacute          ]	};
    key  {	[	  k,	K,     Egrave,    Ediaeresis      ]	};
    key  {	[	  l,	L,     ssharp,    bar		]	};
    key  {	[         m,	M,         mu,    Oacute		]	};
    key  {	[    ugrave,	percent,         ae,    AE		]	};

    key  {	[	  w,	W 		]	};
    key  {	[	  x,	X		]	};
    key  {	[	  c,	C,  copyright,    copyright	]	};
    key  {	[	  v,	V		]	};
    key  {	[	  b,	B		]	};
    key  {	[	  n,	N,  dead_tilde                    ]       };
    key  {	[     comma,	question,          questiondown		]	};
    key  {	[ semicolon,	period          ]	};
    key  {	[     colon,	slash,        bar,    backslash	]	};
    key  {	[    ograve,	exclam,     exclamdown			]	};

    // End alphanumeric section

    include "kpdl(dot)"
    include "level3(ralt_switch)"
};

// Used by Georgian people in Italy, 
// contributed by Vladimer Sichinava
partial alphanumeric_keys
xkb_symbols "geo" {
    include "it"
    include "ge(basic)"

    name[Group1]= "Italy - Georgian";
    key  { [ backslash, bar, notsign, brokenbar ] };
    key  { [ 1, exclam, onesuperior ] };
    key  { [ 2, quotedbl, twosuperior, dead_doubleacute ] };
    key  { [ 3, sterling, threesuperior, dead_tilde ] };
    key  { [ 4, dollar, onequarter, oneeighth ] };
    key  { [ 5, percent, onehalf ] };
    key  { [ 6, ampersand ] };
    key  { [ 7, slash, braceleft ] };
    key  { [ 8, parenleft, bracketleft ] };
    key  { [ 9, parenright ] };
    key  { [ 0, equal, braceright, dead_ogonek ] };
    key  { [apostrophe, question, grave, questiondown ] };
    key  { [ igrave, asciicircum, asciitilde, dead_circumflex ] };

    key  { [0x010010d4, E, EuroSign ] };
    key  { [ egrave, eacute, bracketleft, braceleft ] };
    key  { [ plus, asterisk, bracketright, braceright ] };

    key  { [ ograve, ccedilla, at, dead_cedilla ] };
    key  { [ agrave, degree, numbersign, degree ] };
    key  { [ ugrave, section, dead_grave, dead_breve ] };
    key  { [ less, greater ] };

    key  { [ comma, semicolon ] };
    key  { [ period, colon ] };
    key  { [ minus, underscore ] };
};

// OLPC Section
xkb_symbols "olpc" {

    include "basic"

    key  { [ igrave,  asciicircum,    asciitilde,     dead_tilde ] };
    key  { [ ugrave,      section,        Egrave,     dead_breve ] };
    key  { [ less,        greater, guillemotleft, guillemotright ] };
};

V primeru da je potrebno hitreje tipkati in bi hoteli dobiti črko č s kombinacijo AltGr+c (in pa Č če držimo še Shift) lahko zamenjamo vrstico:

    key  {	[	  c,	C,  copyright,    copyright	]	};

v:

    key  {	[	  c,	C,     ccaron,       Ccaron	]	};

podobno za druge črke s strešico.


chripell@gmail.com