From 4f6c97b1d78e2ab5857560a5af9b47ed8790978a Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 20 Aug 2010 17:34:23 +0000 Subject: xserver git update 20/8/2010 --- xorg-server/fb/fbbits.h | 2 +- xorg-server/glx/glxcmds.c | 7 +++++++ xorg-server/hw/xfree86/ddc/interpret_edid.c | 2 +- xorg-server/render/render.c | 8 ++++++++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/xorg-server/fb/fbbits.h b/xorg-server/fb/fbbits.h index 77e792fd7..80a61ddeb 100644 --- a/xorg-server/fb/fbbits.h +++ b/xorg-server/fb/fbbits.h @@ -25,7 +25,7 @@ * underlying datatypes instead of masks */ -#define isClipped(c,ul,lr) ((((c) - (ul)) | ((lr) - (c))) & 0x80008000) +#define isClipped(c,ul,lr) (((c) | ((c) - (ul)) | ((lr) - (c))) & 0x80008000) #ifdef HAVE_DIX_CONFIG_H #include diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c index be1f2c659..fb477fa98 100644 --- a/xorg-server/glx/glxcmds.c +++ b/xorg-server/glx/glxcmds.c @@ -491,6 +491,13 @@ __glXGetDrawable(__GLXcontext *glxc, GLXDrawable drawId, ClientPtr client, return pGlxDraw; } + /* No active context and an unknown drawable, bail. */ + if (glxc == NULL) { + client->errorValue = drawId; + *error = BadMatch; + return NULL; + } + /* The drawId wasn't a GLX drawable. Make sure it's a window and * create a GLXWindow for it. Check that the drawable screen * matches the context screen and that the context fbconfig is diff --git a/xorg-server/hw/xfree86/ddc/interpret_edid.c b/xorg-server/hw/xfree86/ddc/interpret_edid.c index 7558206cc..d1001a21f 100644 --- a/xorg-server/hw/xfree86/ddc/interpret_edid.c +++ b/xorg-server/hw/xfree86/ddc/interpret_edid.c @@ -552,7 +552,7 @@ get_monitor_ranges(Uchar *c, struct monitor_ranges *r) r->max_h = MAX_H; r->max_clock = 0; if(MAX_CLOCK != 0xff) /* is specified? */ - r->max_clock = MAX_CLOCK * 10; + r->max_clock = MAX_CLOCK * 10 + 5; if (HAVE_2ND_GTF) { r->gtf_2nd_f = F_2ND_GTF; r->gtf_2nd_c = C_2ND_GTF; diff --git a/xorg-server/render/render.c b/xorg-server/render/render.c index cbd70cc7e..623d5db33 100644 --- a/xorg-server/render/render.c +++ b/xorg-server/render/render.c @@ -1077,6 +1077,14 @@ ProcRenderAddGlyphs (ClientPtr client) gi = (xGlyphInfo *) (gids + nglyphs); bits = (CARD8 *) (gi + nglyphs); remain -= (sizeof (CARD32) + sizeof (xGlyphInfo)) * nglyphs; + + /* protect against bad nglyphs */ + if (gi < stuff || gi > ((CARD32 *)stuff + client->req_len) || + bits < stuff || bits > ((CARD32 *)stuff + client->req_len)) { + err = BadLength; + goto bail; + } + for (i = 0; i < nglyphs; i++) { size_t padded_width; -- cgit v1.2.3 From a3f15e28f545a51f0a0139c38944ed324bafb94f Mon Sep 17 00:00:00 2001 From: marha Date: Sun, 22 Aug 2010 10:54:21 +0000 Subject: xserver xkeyboard-config git update 21/8/2010 --- xorg-server/configure.ac | 4 +- xorg-server/xkeyboard-config/rules/base.xml.in | 17 +- xorg-server/xkeyboard-config/symbols/de | 50 ++ xorg-server/xkeyboard-config/symbols/ma | 650 ++++++++++++------------- 4 files changed, 389 insertions(+), 332 deletions(-) diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac index 14b4f1bb2..0f60a7d58 100644 --- a/xorg-server/configure.ac +++ b/xorg-server/configure.ac @@ -26,8 +26,8 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([xorg-server], 1.8.99.906, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2010-08-12" +AC_INIT([xorg-server], 1.9.0, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2010-08-20" AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in index 84fd69339..224321903 100644 --- a/xorg-server/xkeyboard-config/rules/base.xml.in +++ b/xorg-server/xkeyboard-config/rules/base.xml.in @@ -1879,35 +1879,35 @@ tifinagh-alt - <_description>Tifinagh Alternative + <_description>Tifinagh alternative ber tifinagh-alt-phonetic - <_description>Tifinagh Alternative Phonetic + <_description>Tifinagh alternative phonetic ber tifinagh-extended - <_description>Tifinagh Extended + <_description>Tifinagh extended ber tifinagh-phonetic - <_description>Tifinagh Phonetic + <_description>Tifinagh phonetic ber tifinagh-extended-phonetic - <_description>Tifinagh Extended Phonetic + <_description>Tifinagh extended phonetic ber @@ -2634,6 +2634,13 @@ <_description>qwerty + + + ru + <_description>Russian phonetic + rus + + diff --git a/xorg-server/xkeyboard-config/symbols/de b/xorg-server/xkeyboard-config/symbols/de index d70bccd5d..b8d482129 100644 --- a/xorg-server/xkeyboard-config/symbols/de +++ b/xorg-server/xkeyboard-config/symbols/de @@ -503,3 +503,53 @@ xkb_symbols "qwerty" { key { [ z, Z, leftarrow, yen ] }; key { [ y, Y, guillemotleft, less ] }; }; + +// layout for Russian letters on an german keyboard +// based on US-RU layout by Ivan Popov 2005-07-17 +// adopted for german layout by Alexey Fisher 2010-08-19 + +partial alphanumeric_keys +xkb_symbols "ru" { + + include "de(basic)" + + name[Group1]= "Germany - Russian phonetic"; + +key.type[group1]="FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_io, Cyrillic_IO, asciitilde ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + + include "level3(ralt_switch)" +}; diff --git a/xorg-server/xkeyboard-config/symbols/ma b/xorg-server/xkeyboard-config/symbols/ma index 16d071744..b36cc9bc7 100644 --- a/xorg-server/xkeyboard-config/symbols/ma +++ b/xorg-server/xkeyboard-config/symbols/ma @@ -1,325 +1,325 @@ -// Arabic AZERTY with modern Latin digits -partial default alphanumeric_keys -xkb_symbols "arabic" { - include "ara(azerty)" - - name[Group1]="Morocco"; -}; - -// French AZERTY keyboard used when typing French -partial alphanumeric_keys -xkb_symbols "french" { - include "fr(basic)" - - name[Group1]="Morocco - French"; -}; - -// Clavier unicode tifinaghe de base réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ -// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. -// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 -// Polices tifinaghes Unicode à télécharger depuis : -// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) -// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html - -partial alphanumeric_keys -xkb_symbols "tifinagh" { - - name[Group1]="Morocco - Tifinagh"; - - key { [ twosuperior, NoAction ] }; - key { [ ampersand, 1 ] }; - key { [ NoAction, 2, asciitilde ] }; - key { [ quotedbl, 3, numbersign ] }; - key { [apostrophe, 4, braceleft ] }; - key { [ parenleft, 5, bracketleft ] }; - key { [ minus, 6, bar ] }; - key { [ NoAction , 7 ] }; - key { [underscore, 8, backslash ] }; - key { [NoAction, 9, asciicircum ] }; - key { [ NoAction , 0, at ] }; - key { [parenright, degree, bracketright ] }; - key { [ equal, plus, braceright ] }; - - key { [ 0x1002d30 ] }; - key { [ 0x1002d63, 0x1002d65 ] }; - key { [ 0x1002d3b, NoAction,0x10020ac ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f ] }; - key { [ 0x1002d62 ] }; - key { [ 0x1002d53 ] }; - key { [ 0x1002d49 ] }; - key { [ 0x1002d44 ] }; - key { [ 0x1002d43 ] }; - key { [ 0x1002d6f ] }; - key { [ dollar, sterling, 0x10000a4] }; - - key { [ 0x1002d47 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39 ] }; - key { [ 0x1002d3c ] }; - key { [ 0x1002d33, 0x1002d33] }; - key { [ 0x1002d40 ] }; - key { [ 0x1002d4a ] }; - key { [ 0x1002d3d, 0x1002d3d ] }; - key { [ 0x1002d4d ] }; - key { [ 0x1002d4e ] }; - key { [ NoAction , percent ] }; - key { [ asterisk, mu ] }; - - key { [ 0x1002d61 ] }; - key { [ 0x1002d45 ] }; - key { [ 0x1002d5b ] }; - key { [ 0x1002d56 ] }; - key { [ 0x1002d31 ] }; - key { [ 0x1002d4f ] }; - key { [ comma, question ] }; - key { [ semicolon, period ] }; - key { [ colon, slash ] }; - key { [ exclam, section ] }; - - include "level3(ralt_switch)" -}; - -partial alphanumeric_keys -xkb_symbols "tifinagh-phonetic" { - - name[Group1]="Morocco - Tifinagh Phonetic"; - include "ma(tifinagh)" - - key { [ 0x1002d30 ] }; - key { [ 0x1002d63, 0x1002d65 ] }; - key { [ 0x1002d3b, NoAction,0x10020ac ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f ] }; - key { [ 0x1002d62 ] }; - key { [ 0x1002d53 ] }; - key { [ 0x1002d49 ] }; - key { [ 0x1002d44 ] }; - key { [ 0x1002d43 ] }; - - key { [ 0x1002d47 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39 ] }; - key { [ 0x1002d3c ] }; - key { [ 0x1002d33 ] }; - key { [ 0x1002d40 ] }; - key { [ 0x1002d4a ] }; - key { [ 0x1002d3d ] }; - key { [ 0x1002d4d ] }; - key { [ 0x1002d4e ] }; - - key { [ 0x1002d61,0x1002d6f ] }; - key { [ 0x1002d45 ] }; - key { [ 0x1002d5b ] }; - key { [ 0x1002d56 ] }; - key { [ 0x1002d31 ] }; - key { [ 0x1002d4f ] }; - - include "level3(ralt_switch)" -}; - -// Clavier unicode tifinaghe étendu réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ -// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. -// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 -// Polices tifinaghes Unicode à télécharger depuis : -// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) -// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html - -partial alphanumeric_keys -xkb_symbols "tifinagh-extended" { - - name[Group1]="Morocco - Tifinagh Extended"; - - key { [ twosuperior,0x100200C ] }; - key { [ ampersand, 1 ] }; - key { [0x1002d52, 2, asciitilde ] }; - key { [ quotedbl, 3, numbersign ] }; - key { [apostrophe, 4, braceleft ] }; - key { [ parenleft, 5, bracketleft ] }; - key { [ minus, 6, bar ] }; - key { [ 0x1002d64 , 7 ] }; - key { [underscore, 8, backslash ] }; - key { [ 0x1002014, 9, asciicircum ] }; - key { [ 0x100200d, 0, at ] }; - key { [parenright, degree, bracketright ] }; - key { [ equal, plus, braceright ] }; - - key { [ 0x1002d30, 0x1002d36 ] }; - key { [ 0x1002d63, 0x1002d65 ] }; - key { [ 0x1002d3b, 0x1002d57, 0x10020ac ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f ] }; - key { [ 0x1002d62, 0x1002d42 ] }; - key { [ 0x1002d53, 0x1002d4c ] }; - key { [ 0x1002d49, 0x1002d58 ] }; - key { [ 0x1002d44, 0x1002d5d ] }; - key { [ 0x1002d43, 0x1002d5e ] }; - key { [ 0x1002d6f, 0x1002d60 ] }; - key { [ dollar, sterling, 0x10000a4] }; - - key { [ 0x1002d47, 0x1002d48 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39 ] }; - key { [ 0x1002d3c, 0x1002d35 ] }; - key { [ 0x1002d33, 0x1002d33 ] }; - key { [ 0x1002d40, 0x1002d41 ] }; - key { [ 0x1002d4a, 0x1002d4b ] }; - key { [ 0x1002d3d, 0x1002d3d ] }; - key { [ 0x1002d4d, 0x1002d38 ] }; - key { [ 0x1002d4e, 0x1002d3a ] }; - key { [ 0x1002d51, percent ] }; - key { [ asterisk, mu ] }; - - key { [ 0x1002d61, 0x1002d3e ] }; - key { [ 0x1002d45, 0x1002d46 ] }; - key { [ 0x1002d5b, 0x1002d3f ] }; - key { [ 0x1002d56, 0x1002d34 ] }; - key { [ 0x1002d31, 0x1002d32 ] }; - key { [ 0x1002d4f, 0x1002d50 ] }; - key { [ comma, question ] }; - key { [ semicolon, period ] }; - key { [ colon, slash ] }; - key { [ exclam, section ] }; - - include "level3(ralt_switch)" -}; - -partial alphanumeric_keys -xkb_symbols "tifinagh-extended-phonetic" { - include "ma(tifinagh-extended)" - - name[Group1]="Morocco - Tifinagh Extended Phonetic"; - - key { [ 0x1002d30 ] }; - key { [ 0x1002d63, 0x1002d65 ] }; - key { [ 0x1002d3b, NoAction,0x10020ac ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f ] }; - key { [ 0x1002d62 ] }; - key { [ 0x1002d53 ] }; - key { [ 0x1002d49 ] }; - key { [ 0x1002d44 ] }; - key { [ 0x1002d43 ] }; - - key { [ 0x1002d47 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39 ] }; - key { [ 0x1002d3c ] }; - key { [ 0x1002d33 ] }; - key { [ 0x1002d40 ] }; - key { [ 0x1002d4a ] }; - key { [ 0x1002d3d ] }; - key { [ 0x1002d4d ] }; - key { [ 0x1002d4e ] }; - - key { [ 0x1002d61 ] }; - key { [ 0x1002d45 ] }; - key { [ 0x1002d5b ] }; - key { [ 0x1002d56 ] }; - key { [ 0x1002d31 ] }; - key { [ 0x1002d4f ] }; - - include "level3(ralt_switch)" -}; - -// Tifinagh keyboard; improved from the IRCAM layout to make all -// tifinagh chars in unicode accessible (in shift positions for most -// touareg letters; in altgr position for spirants. - -partial alphanumeric_keys -xkb_symbols "tifinagh-alt" { - - name[Group1]="Morocco - Tifinagh Alternative"; - - key { [ twosuperior, asciitilde ] }; - key { [ ampersand, 1 ] }; - key { [asciitilde, 2, asciitilde ] }; - key { [ quotedbl, 3, numbersign ] }; - key { [apostrophe, 4, braceleft ] }; - key { [ parenleft, 5, bracketleft ] }; - key { [ minus, 6, bar ] }; - key { [ grave, 7, grave ] }; - key { [underscore, 8, backslash ] }; - key { [asciicircum, 9, asciicircum ] }; - key { [ at, 0, at ] }; - key { [parenright, degree, bracketright ] }; - key { [ equal, plus, braceright ] }; - - key { [ 0x1002d30 ] }; - key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; - key { [ 0x1002d3b ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; - key { [ 0x1002d62 ] }; - key { [ 0x1002d53 ] }; - key { [ 0x1002d49 ] }; - key { [ 0x1002d44 ] }; - key { [ 0x1002d43, 0x1002d52 ] }; - key { [ dead_circumflex ] }; - key { [ dollar, sterling ] }; - - key { [ 0x1002d47, 0x1002d48 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; - key { [ 0x1002d3c ] }; - key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; - key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; - key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; - key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; - key { [ 0x1002d4d ] }; - key { [ 0x1002d4e ] }; - key { [ percent ] }; - key { [ asterisk, mu ] }; - - key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; - key { [ 0x1002d45, 0x1002d46 ] }; - key { [ 0x1002d5b, 0x1002d5e ] }; - key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; - key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; - key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; - key { [ comma, question ] }; - key { [ semicolon, period ] }; - key { [ colon, slash ] }; - key { [ exclam, section ] }; - - include "level3(ralt_switch)" -}; - -partial alphanumeric_keys -xkb_symbols "tifinagh-alt-phonetic" { - include "ma(tifinagh-alt)" - - name[Group1]="Morocco - Tifinagh Alternative Phonetic"; - - key { [ 0x1002d30 ] }; - key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; - key { [ 0x1002d3b ] }; - key { [ 0x1002d54, 0x1002d55 ] }; - key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; - key { [ 0x1002d62 ] }; - key { [ 0x1002d53 ] }; - key { [ 0x1002d49 ] }; - key { [ 0x1002d44 ] }; - key { [ 0x1002d43, 0x1002d52 ] }; - - key { [ 0x1002d47, 0x1002d48 ] }; - key { [ 0x1002d59, 0x1002d5a ] }; - key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; - key { [ 0x1002d3c ] }; - key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; - key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; - key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; - key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; - key { [ 0x1002d4d ] }; - key { [ 0x1002d4e ] }; - - key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; - key { [ 0x1002d45, 0x1002d46 ] }; - key { [ 0x1002d5b, 0x1002d5e ] }; - key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; - key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; - key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; - - include "level3(ralt_switch)" -}; - +// Arabic AZERTY with modern Latin digits +partial default alphanumeric_keys +xkb_symbols "arabic" { + include "ara(azerty)" + + name[Group1]="Morocco"; +}; + +// French AZERTY keyboard used when typing French +partial alphanumeric_keys +xkb_symbols "french" { + include "fr(basic)" + + name[Group1]="Morocco - French"; +}; + +// Clavier unicode tifinaghe de base réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ +// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. +// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 +// Polices tifinaghes Unicode à télécharger depuis : +// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) +// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html + +partial alphanumeric_keys +xkb_symbols "tifinagh" { + + name[Group1]="Morocco - Tifinagh"; + + key { [ twosuperior, NoAction ] }; + key { [ ampersand, 1 ] }; + key { [ NoAction, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ NoAction , 7 ] }; + key { [underscore, 8, backslash ] }; + key { [NoAction, 9, asciicircum ] }; + key { [ NoAction , 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoAction,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + key { [ 0x1002d6f ] }; + key { [ dollar, sterling, 0x10000a4] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d33] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d, 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + key { [ NoAction , percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61 ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-phonetic" { + + name[Group1]="Morocco - Tifinagh phonetic"; + include "ma(tifinagh)" + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoAction,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33 ] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61,0x1002d6f ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + + include "level3(ralt_switch)" +}; + +// Clavier unicode tifinaghe étendu réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ +// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. +// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 +// Polices tifinaghes Unicode à télécharger depuis : +// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) +// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html + +partial alphanumeric_keys +xkb_symbols "tifinagh-extended" { + + name[Group1]="Morocco - Tifinagh extended"; + + key { [ twosuperior,0x100200C ] }; + key { [ ampersand, 1 ] }; + key { [0x1002d52, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ 0x1002d64 , 7 ] }; + key { [underscore, 8, backslash ] }; + key { [ 0x1002014, 9, asciicircum ] }; + key { [ 0x100200d, 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30, 0x1002d36 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, 0x1002d57, 0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62, 0x1002d42 ] }; + key { [ 0x1002d53, 0x1002d4c ] }; + key { [ 0x1002d49, 0x1002d58 ] }; + key { [ 0x1002d44, 0x1002d5d ] }; + key { [ 0x1002d43, 0x1002d5e ] }; + key { [ 0x1002d6f, 0x1002d60 ] }; + key { [ dollar, sterling, 0x10000a4] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c, 0x1002d35 ] }; + key { [ 0x1002d33, 0x1002d33 ] }; + key { [ 0x1002d40, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3d ] }; + key { [ 0x1002d4d, 0x1002d38 ] }; + key { [ 0x1002d4e, 0x1002d3a ] }; + key { [ 0x1002d51, percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61, 0x1002d3e ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d3f ] }; + key { [ 0x1002d56, 0x1002d34 ] }; + key { [ 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50 ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-extended-phonetic" { + include "ma(tifinagh-extended)" + + name[Group1]="Morocco - Tifinagh extended phonetic"; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoAction,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33 ] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61 ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + + include "level3(ralt_switch)" +}; + +// Tifinagh keyboard; improved from the IRCAM layout to make all +// tifinagh chars in unicode accessible (in shift positions for most +// touareg letters; in altgr position for spirants. + +partial alphanumeric_keys +xkb_symbols "tifinagh-alt" { + + name[Group1]="Morocco - Tifinagh alternative"; + + key { [ twosuperior, asciitilde ] }; + key { [ ampersand, 1 ] }; + key { [asciitilde, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ grave, 7, grave ] }; + key { [underscore, 8, backslash ] }; + key { [asciicircum, 9, asciicircum ] }; + key { [ at, 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; + key { [ 0x1002d3b ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43, 0x1002d52 ] }; + key { [ dead_circumflex ] }; + key { [ dollar, sterling ] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; + key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + key { [ percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d5e ] }; + key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; + key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-alt-phonetic" { + include "ma(tifinagh-alt)" + + name[Group1]="Morocco - Tifinagh alternative phonetic"; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; + key { [ 0x1002d3b ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43, 0x1002d52 ] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; + key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d5e ] }; + key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; + key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; + + include "level3(ralt_switch)" +}; + -- cgit v1.2.3