diff options
author | marha <marha@users.sourceforge.net> | 2010-08-23 14:15:19 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2010-08-23 14:15:19 +0000 |
commit | a219a0434f082a1d1faca472c14ba8c8e6d0fbc7 (patch) | |
tree | 41f0fddb8d4af0b7df7212e195d2b81df2c4acdf /xorg-server | |
parent | a6913ef6cbee338f4f0001be4bde3960ce2cdf00 (diff) | |
parent | a3f15e28f545a51f0a0139c38944ed324bafb94f (diff) | |
download | vcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.tar.gz vcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.tar.bz2 vcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.zip |
svn merge ^/branches/released .
Diffstat (limited to 'xorg-server')
-rw-r--r-- | xorg-server/configure.ac | 4 | ||||
-rw-r--r-- | xorg-server/fb/fbbits.h | 2 | ||||
-rw-r--r-- | xorg-server/glx/glxcmds.c | 7 | ||||
-rw-r--r-- | xorg-server/hw/xfree86/ddc/interpret_edid.c | 2 | ||||
-rw-r--r-- | xorg-server/render/render.c | 8 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/rules/base.xml.in | 17 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/de | 50 | ||||
-rw-r--r-- | xorg-server/xkeyboard-config/symbols/ma | 650 |
8 files changed, 406 insertions, 334 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/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 <dix-config.h>
diff --git a/xorg-server/glx/glxcmds.c b/xorg-server/glx/glxcmds.c index 35b2c4ee2..c0c1f262b 100644 --- a/xorg-server/glx/glxcmds.c +++ b/xorg-server/glx/glxcmds.c @@ -495,6 +495,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;
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 @@ <variant>
<configItem>
<name>tifinagh-alt</name>
- <_description>Tifinagh Alternative</_description>
+ <_description>Tifinagh alternative</_description>
<languageList><iso639Id>ber</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>tifinagh-alt-phonetic</name>
- <_description>Tifinagh Alternative Phonetic</_description>
+ <_description>Tifinagh alternative phonetic</_description>
<languageList><iso639Id>ber</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>tifinagh-extended</name>
- <_description>Tifinagh Extended</_description>
+ <_description>Tifinagh extended</_description>
<languageList><iso639Id>ber</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>tifinagh-phonetic</name>
- <_description>Tifinagh Phonetic</_description>
+ <_description>Tifinagh phonetic</_description>
<languageList><iso639Id>ber</iso639Id></languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>tifinagh-extended-phonetic</name>
- <_description>Tifinagh Extended Phonetic</_description>
+ <_description>Tifinagh extended phonetic</_description>
<languageList><iso639Id>ber</iso639Id></languageList>
</configItem>
</variant>
@@ -2634,6 +2634,13 @@ <_description>qwerty</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>ru</name>
+ <_description>Russian phonetic</_description>
+ <languageList><iso639Id>rus</iso639Id></languageList>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
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 <AB01> { [ z, Z, leftarrow, yen ] };
key <AD06> { [ y, Y, guillemotleft, less ] };
};
+
+// layout for Russian letters on an german keyboard
+// based on US-RU layout by Ivan Popov <pin@konvalo.org> 2005-07-17
+// adopted for german layout by Alexey Fisher <bug-track@fisher-privat.net> 2010-08-19
+
+partial alphanumeric_keys
+xkb_symbols "ru" {
+
+ include "de(basic)"
+
+ name[Group1]= "Germany - Russian phonetic";
+
+key.type[group1]="FOUR_LEVEL_ALPHABETIC";
+
+ key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
+ key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
+ key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
+ key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
+ key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
+ key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
+ key <TLDE> { [ Cyrillic_io, Cyrillic_IO, asciitilde ] };
+ key <LatX> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
+ key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
+ key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
+ key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
+ key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
+ key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
+ key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
+ key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
+ key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
+ key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
+ key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
+ key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
+ key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
+ key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
+ key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
+ key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
+ key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
+ key <AC10> { [ Cyrillic_che, Cyrillic_CHE ] };
+ key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
+ key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] };
+ key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
+ key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
+ key <LatV> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
+ key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
+ key <BKSL> { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] };
+ key <LatQ> { [ 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 <TLDE> { [ twosuperior, NoAction ] }; - key <AE01> { [ ampersand, 1 ] }; - key <AE02> { [ NoAction, 2, asciitilde ] }; - key <AE03> { [ quotedbl, 3, numbersign ] }; - key <AE04> { [apostrophe, 4, braceleft ] }; - key <AE05> { [ parenleft, 5, bracketleft ] }; - key <AE06> { [ minus, 6, bar ] }; - key <AE07> { [ NoAction , 7 ] }; - key <AE08> { [underscore, 8, backslash ] }; - key <AE09> { [NoAction, 9, asciicircum ] }; - key <AE10> { [ NoAction , 0, at ] }; - key <AE11> { [parenright, degree, bracketright ] }; - key <AE12> { [ equal, plus, braceright ] }; - - key <AD01> { [ 0x1002d30 ] }; - key <AD02> { [ 0x1002d63, 0x1002d65 ] }; - key <AD03> { [ 0x1002d3b, NoAction,0x10020ac ] }; - key <AD04> { [ 0x1002d54, 0x1002d55 ] }; - key <AD05> { [ 0x1002d5c, 0x1002d5f ] }; - key <AD06> { [ 0x1002d62 ] }; - key <AD07> { [ 0x1002d53 ] }; - key <AD08> { [ 0x1002d49 ] }; - key <AD09> { [ 0x1002d44 ] }; - key <AD10> { [ 0x1002d43 ] }; - key <AD11> { [ 0x1002d6f ] }; - key <AD12> { [ dollar, sterling, 0x10000a4] }; - - key <AC01> { [ 0x1002d47 ] }; - key <AC02> { [ 0x1002d59, 0x1002d5a ] }; - key <AC03> { [ 0x1002d37, 0x1002d39 ] }; - key <AC04> { [ 0x1002d3c ] }; - key <AC05> { [ 0x1002d33, 0x1002d33] }; - key <AC06> { [ 0x1002d40 ] }; - key <AC07> { [ 0x1002d4a ] }; - key <AC08> { [ 0x1002d3d, 0x1002d3d ] }; - key <AC09> { [ 0x1002d4d ] }; - key <AC10> { [ 0x1002d4e ] }; - key <AC11> { [ NoAction , percent ] }; - key <BKSL> { [ asterisk, mu ] }; - - key <AB01> { [ 0x1002d61 ] }; - key <AB02> { [ 0x1002d45 ] }; - key <AB03> { [ 0x1002d5b ] }; - key <AB04> { [ 0x1002d56 ] }; - key <AB05> { [ 0x1002d31 ] }; - key <AB06> { [ 0x1002d4f ] }; - key <AB07> { [ comma, question ] }; - key <AB08> { [ semicolon, period ] }; - key <AB09> { [ colon, slash ] }; - key <AB10> { [ exclam, section ] }; - - include "level3(ralt_switch)" -}; - -partial alphanumeric_keys -xkb_symbols "tifinagh-phonetic" { - - name[Group1]="Morocco - Tifinagh Phonetic"; - include "ma(tifinagh)" - - key <LatA> { [ 0x1002d30 ] }; - key <LatZ> { [ 0x1002d63, 0x1002d65 ] }; - key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] }; - key <LatR> { [ 0x1002d54, 0x1002d55 ] }; - key <LatT> { [ 0x1002d5c, 0x1002d5f ] }; - key <LatY> { [ 0x1002d62 ] }; - key <LatU> { [ 0x1002d53 ] }; - key <LatI> { [ 0x1002d49 ] }; - key <LatO> { [ 0x1002d44 ] }; - key <LatP> { [ 0x1002d43 ] }; - - key <LatQ> { [ 0x1002d47 ] }; - key <LatS> { [ 0x1002d59, 0x1002d5a ] }; - key <LatD> { [ 0x1002d37, 0x1002d39 ] }; - key <LatF> { [ 0x1002d3c ] }; - key <LatG> { [ 0x1002d33 ] }; - key <LatH> { [ 0x1002d40 ] }; - key <LatJ> { [ 0x1002d4a ] }; - key <LatK> { [ 0x1002d3d ] }; - key <LatL> { [ 0x1002d4d ] }; - key <LatM> { [ 0x1002d4e ] }; - - key <LatW> { [ 0x1002d61,0x1002d6f ] }; - key <LatX> { [ 0x1002d45 ] }; - key <LatC> { [ 0x1002d5b ] }; - key <LatV> { [ 0x1002d56 ] }; - key <LatB> { [ 0x1002d31 ] }; - key <LatN> { [ 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 <TLDE> { [ twosuperior,0x100200C ] }; - key <AE01> { [ ampersand, 1 ] }; - key <AE02> { [0x1002d52, 2, asciitilde ] }; - key <AE03> { [ quotedbl, 3, numbersign ] }; - key <AE04> { [apostrophe, 4, braceleft ] }; - key <AE05> { [ parenleft, 5, bracketleft ] }; - key <AE06> { [ minus, 6, bar ] }; - key <AE07> { [ 0x1002d64 , 7 ] }; - key <AE08> { [underscore, 8, backslash ] }; - key <AE09> { [ 0x1002014, 9, asciicircum ] }; - key <AE10> { [ 0x100200d, 0, at ] }; - key <AE11> { [parenright, degree, bracketright ] }; - key <AE12> { [ equal, plus, braceright ] }; - - key <AD01> { [ 0x1002d30, 0x1002d36 ] }; - key <AD02> { [ 0x1002d63, 0x1002d65 ] }; - key <AD03> { [ 0x1002d3b, 0x1002d57, 0x10020ac ] }; - key <AD04> { [ 0x1002d54, 0x1002d55 ] }; - key <AD05> { [ 0x1002d5c, 0x1002d5f ] }; - key <AD06> { [ 0x1002d62, 0x1002d42 ] }; - key <AD07> { [ 0x1002d53, 0x1002d4c ] }; - key <AD08> { [ 0x1002d49, 0x1002d58 ] }; - key <AD09> { [ 0x1002d44, 0x1002d5d ] }; - key <AD10> { [ 0x1002d43, 0x1002d5e ] }; - key <AD11> { [ 0x1002d6f, 0x1002d60 ] }; - key <AD12> { [ dollar, sterling, 0x10000a4] }; - - key <AC01> { [ 0x1002d47, 0x1002d48 ] }; - key <AC02> { [ 0x1002d59, 0x1002d5a ] }; - key <AC03> { [ 0x1002d37, 0x1002d39 ] }; - key <AC04> { [ 0x1002d3c, 0x1002d35 ] }; - key <AC05> { [ 0x1002d33, 0x1002d33 ] }; - key <AC06> { [ 0x1002d40, 0x1002d41 ] }; - key <AC07> { [ 0x1002d4a, 0x1002d4b ] }; - key <AC08> { [ 0x1002d3d, 0x1002d3d ] }; - key <AC09> { [ 0x1002d4d, 0x1002d38 ] }; - key <AC10> { [ 0x1002d4e, 0x1002d3a ] }; - key <AC11> { [ 0x1002d51, percent ] }; - key <BKSL> { [ asterisk, mu ] }; - - key <AB01> { [ 0x1002d61, 0x1002d3e ] }; - key <AB02> { [ 0x1002d45, 0x1002d46 ] }; - key <AB03> { [ 0x1002d5b, 0x1002d3f ] }; - key <AB04> { [ 0x1002d56, 0x1002d34 ] }; - key <AB05> { [ 0x1002d31, 0x1002d32 ] }; - key <AB06> { [ 0x1002d4f, 0x1002d50 ] }; - key <AB07> { [ comma, question ] }; - key <AB08> { [ semicolon, period ] }; - key <AB09> { [ colon, slash ] }; - key <AB10> { [ 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 <LatA> { [ 0x1002d30 ] }; - key <LatZ> { [ 0x1002d63, 0x1002d65 ] }; - key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] }; - key <LatR> { [ 0x1002d54, 0x1002d55 ] }; - key <LatT> { [ 0x1002d5c, 0x1002d5f ] }; - key <LatY> { [ 0x1002d62 ] }; - key <LatU> { [ 0x1002d53 ] }; - key <LatI> { [ 0x1002d49 ] }; - key <LatO> { [ 0x1002d44 ] }; - key <LatP> { [ 0x1002d43 ] }; - - key <LatQ> { [ 0x1002d47 ] }; - key <LatS> { [ 0x1002d59, 0x1002d5a ] }; - key <LatD> { [ 0x1002d37, 0x1002d39 ] }; - key <LatF> { [ 0x1002d3c ] }; - key <LatG> { [ 0x1002d33 ] }; - key <LatH> { [ 0x1002d40 ] }; - key <LatJ> { [ 0x1002d4a ] }; - key <LatK> { [ 0x1002d3d ] }; - key <LatL> { [ 0x1002d4d ] }; - key <LatM> { [ 0x1002d4e ] }; - - key <LatW> { [ 0x1002d61 ] }; - key <LatX> { [ 0x1002d45 ] }; - key <LatC> { [ 0x1002d5b ] }; - key <LatV> { [ 0x1002d56 ] }; - key <LatB> { [ 0x1002d31 ] }; - key <LatN> { [ 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 <TLDE> { [ twosuperior, asciitilde ] }; - key <AE01> { [ ampersand, 1 ] }; - key <AE02> { [asciitilde, 2, asciitilde ] }; - key <AE03> { [ quotedbl, 3, numbersign ] }; - key <AE04> { [apostrophe, 4, braceleft ] }; - key <AE05> { [ parenleft, 5, bracketleft ] }; - key <AE06> { [ minus, 6, bar ] }; - key <AE07> { [ grave, 7, grave ] }; - key <AE08> { [underscore, 8, backslash ] }; - key <AE09> { [asciicircum, 9, asciicircum ] }; - key <AE10> { [ at, 0, at ] }; - key <AE11> { [parenright, degree, bracketright ] }; - key <AE12> { [ equal, plus, braceright ] }; - - key <AD01> { [ 0x1002d30 ] }; - key <AD02> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; - key <AD03> { [ 0x1002d3b ] }; - key <AD04> { [ 0x1002d54, 0x1002d55 ] }; - key <AD05> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; - key <AD06> { [ 0x1002d62 ] }; - key <AD07> { [ 0x1002d53 ] }; - key <AD08> { [ 0x1002d49 ] }; - key <AD09> { [ 0x1002d44 ] }; - key <AD10> { [ 0x1002d43, 0x1002d52 ] }; - key <AD11> { [ dead_circumflex ] }; - key <AD12> { [ dollar, sterling ] }; - - key <AC01> { [ 0x1002d47, 0x1002d48 ] }; - key <AC02> { [ 0x1002d59, 0x1002d5a ] }; - key <AC03> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; - key <AC04> { [ 0x1002d3c ] }; - key <AC05> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; - key <AC06> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; - key <AC07> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; - key <AC08> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; - key <AC09> { [ 0x1002d4d ] }; - key <AC10> { [ 0x1002d4e ] }; - key <AC11> { [ percent ] }; - key <BKSL> { [ asterisk, mu ] }; - - key <AB01> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; - key <AB02> { [ 0x1002d45, 0x1002d46 ] }; - key <AB03> { [ 0x1002d5b, 0x1002d5e ] }; - key <AB04> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; - key <AB05> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; - key <AB06> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; - key <AB07> { [ comma, question ] }; - key <AB08> { [ semicolon, period ] }; - key <AB09> { [ colon, slash ] }; - key <AB10> { [ 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 <LatA> { [ 0x1002d30 ] }; - key <LatZ> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; - key <LatE> { [ 0x1002d3b ] }; - key <LatR> { [ 0x1002d54, 0x1002d55 ] }; - key <LatT> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; - key <LatY> { [ 0x1002d62 ] }; - key <LatU> { [ 0x1002d53 ] }; - key <LatI> { [ 0x1002d49 ] }; - key <LatO> { [ 0x1002d44 ] }; - key <LatP> { [ 0x1002d43, 0x1002d52 ] }; - - key <LatQ> { [ 0x1002d47, 0x1002d48 ] }; - key <LatS> { [ 0x1002d59, 0x1002d5a ] }; - key <LatD> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; - key <LatF> { [ 0x1002d3c ] }; - key <LatG> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; - key <LatH> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; - key <LatJ> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; - key <LatK> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; - key <LatL> { [ 0x1002d4d ] }; - key <LatM> { [ 0x1002d4e ] }; - - key <LatW> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; - key <LatX> { [ 0x1002d45, 0x1002d46 ] }; - key <LatC> { [ 0x1002d5b, 0x1002d5e ] }; - key <LatV> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; - key <LatB> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; - key <LatN> { [ 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 <TLDE> { [ twosuperior, NoAction ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [ NoAction, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ NoAction , 7 ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [NoAction, 9, asciicircum ] };
+ key <AE10> { [ NoAction , 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65 ] };
+ key <AD03> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f ] };
+ key <AD06> { [ 0x1002d62 ] };
+ key <AD07> { [ 0x1002d53 ] };
+ key <AD08> { [ 0x1002d49 ] };
+ key <AD09> { [ 0x1002d44 ] };
+ key <AD10> { [ 0x1002d43 ] };
+ key <AD11> { [ 0x1002d6f ] };
+ key <AD12> { [ dollar, sterling, 0x10000a4] };
+
+ key <AC01> { [ 0x1002d47 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39 ] };
+ key <AC04> { [ 0x1002d3c ] };
+ key <AC05> { [ 0x1002d33, 0x1002d33] };
+ key <AC06> { [ 0x1002d40 ] };
+ key <AC07> { [ 0x1002d4a ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3d ] };
+ key <AC09> { [ 0x1002d4d ] };
+ key <AC10> { [ 0x1002d4e ] };
+ key <AC11> { [ NoAction , percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61 ] };
+ key <AB02> { [ 0x1002d45 ] };
+ key <AB03> { [ 0x1002d5b ] };
+ key <AB04> { [ 0x1002d56 ] };
+ key <AB05> { [ 0x1002d31 ] };
+ key <AB06> { [ 0x1002d4f ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ exclam, section ] };
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys
+xkb_symbols "tifinagh-phonetic" {
+
+ name[Group1]="Morocco - Tifinagh phonetic";
+ include "ma(tifinagh)"
+
+ key <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65 ] };
+ key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43 ] };
+
+ key <LatQ> { [ 0x1002d47 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39 ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33 ] };
+ key <LatH> { [ 0x1002d40 ] };
+ key <LatJ> { [ 0x1002d4a ] };
+ key <LatK> { [ 0x1002d3d ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61,0x1002d6f ] };
+ key <LatX> { [ 0x1002d45 ] };
+ key <LatC> { [ 0x1002d5b ] };
+ key <LatV> { [ 0x1002d56 ] };
+ key <LatB> { [ 0x1002d31 ] };
+ key <LatN> { [ 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 <TLDE> { [ twosuperior,0x100200C ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [0x1002d52, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ 0x1002d64 , 7 ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [ 0x1002014, 9, asciicircum ] };
+ key <AE10> { [ 0x100200d, 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30, 0x1002d36 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65 ] };
+ key <AD03> { [ 0x1002d3b, 0x1002d57, 0x10020ac ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f ] };
+ key <AD06> { [ 0x1002d62, 0x1002d42 ] };
+ key <AD07> { [ 0x1002d53, 0x1002d4c ] };
+ key <AD08> { [ 0x1002d49, 0x1002d58 ] };
+ key <AD09> { [ 0x1002d44, 0x1002d5d ] };
+ key <AD10> { [ 0x1002d43, 0x1002d5e ] };
+ key <AD11> { [ 0x1002d6f, 0x1002d60 ] };
+ key <AD12> { [ dollar, sterling, 0x10000a4] };
+
+ key <AC01> { [ 0x1002d47, 0x1002d48 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39 ] };
+ key <AC04> { [ 0x1002d3c, 0x1002d35 ] };
+ key <AC05> { [ 0x1002d33, 0x1002d33 ] };
+ key <AC06> { [ 0x1002d40, 0x1002d41 ] };
+ key <AC07> { [ 0x1002d4a, 0x1002d4b ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3d ] };
+ key <AC09> { [ 0x1002d4d, 0x1002d38 ] };
+ key <AC10> { [ 0x1002d4e, 0x1002d3a ] };
+ key <AC11> { [ 0x1002d51, percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61, 0x1002d3e ] };
+ key <AB02> { [ 0x1002d45, 0x1002d46 ] };
+ key <AB03> { [ 0x1002d5b, 0x1002d3f ] };
+ key <AB04> { [ 0x1002d56, 0x1002d34 ] };
+ key <AB05> { [ 0x1002d31, 0x1002d32 ] };
+ key <AB06> { [ 0x1002d4f, 0x1002d50 ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ 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 <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65 ] };
+ key <LatE> { [ 0x1002d3b, NoAction,0x10020ac ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43 ] };
+
+ key <LatQ> { [ 0x1002d47 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39 ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33 ] };
+ key <LatH> { [ 0x1002d40 ] };
+ key <LatJ> { [ 0x1002d4a ] };
+ key <LatK> { [ 0x1002d3d ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61 ] };
+ key <LatX> { [ 0x1002d45 ] };
+ key <LatC> { [ 0x1002d5b ] };
+ key <LatV> { [ 0x1002d56 ] };
+ key <LatB> { [ 0x1002d31 ] };
+ key <LatN> { [ 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 <TLDE> { [ twosuperior, asciitilde ] };
+ key <AE01> { [ ampersand, 1 ] };
+ key <AE02> { [asciitilde, 2, asciitilde ] };
+ key <AE03> { [ quotedbl, 3, numbersign ] };
+ key <AE04> { [apostrophe, 4, braceleft ] };
+ key <AE05> { [ parenleft, 5, bracketleft ] };
+ key <AE06> { [ minus, 6, bar ] };
+ key <AE07> { [ grave, 7, grave ] };
+ key <AE08> { [underscore, 8, backslash ] };
+ key <AE09> { [asciicircum, 9, asciicircum ] };
+ key <AE10> { [ at, 0, at ] };
+ key <AE11> { [parenright, degree, bracketright ] };
+ key <AE12> { [ equal, plus, braceright ] };
+
+ key <AD01> { [ 0x1002d30 ] };
+ key <AD02> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] };
+ key <AD03> { [ 0x1002d3b ] };
+ key <AD04> { [ 0x1002d54, 0x1002d55 ] };
+ key <AD05> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] };
+ key <AD06> { [ 0x1002d62 ] };
+ key <AD07> { [ 0x1002d53 ] };
+ key <AD08> { [ 0x1002d49 ] };
+ key <AD09> { [ 0x1002d44 ] };
+ key <AD10> { [ 0x1002d43, 0x1002d52 ] };
+ key <AD11> { [ dead_circumflex ] };
+ key <AD12> { [ dollar, sterling ] };
+
+ key <AC01> { [ 0x1002d47, 0x1002d48 ] };
+ key <AC02> { [ 0x1002d59, 0x1002d5a ] };
+ key <AC03> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] };
+ key <AC04> { [ 0x1002d3c ] };
+ key <AC05> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] };
+ key <AC06> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] };
+ key <AC07> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] };
+ key <AC08> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] };
+ key <AC09> { [ 0x1002d4d ] };
+ key <AC10> { [ 0x1002d4e ] };
+ key <AC11> { [ percent ] };
+ key <BKSL> { [ asterisk, mu ] };
+
+ key <AB01> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] };
+ key <AB02> { [ 0x1002d45, 0x1002d46 ] };
+ key <AB03> { [ 0x1002d5b, 0x1002d5e ] };
+ key <AB04> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] };
+ key <AB05> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] };
+ key <AB06> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] };
+ key <AB07> { [ comma, question ] };
+ key <AB08> { [ semicolon, period ] };
+ key <AB09> { [ colon, slash ] };
+ key <AB10> { [ 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 <LatA> { [ 0x1002d30 ] };
+ key <LatZ> { [ 0x1002d63, 0x1002d65, 0x1002d64 ] };
+ key <LatE> { [ 0x1002d3b ] };
+ key <LatR> { [ 0x1002d54, 0x1002d55 ] };
+ key <LatT> { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] };
+ key <LatY> { [ 0x1002d62 ] };
+ key <LatU> { [ 0x1002d53 ] };
+ key <LatI> { [ 0x1002d49 ] };
+ key <LatO> { [ 0x1002d44 ] };
+ key <LatP> { [ 0x1002d43, 0x1002d52 ] };
+
+ key <LatQ> { [ 0x1002d47, 0x1002d48 ] };
+ key <LatS> { [ 0x1002d59, 0x1002d5a ] };
+ key <LatD> { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] };
+ key <LatF> { [ 0x1002d3c ] };
+ key <LatG> { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] };
+ key <LatH> { [ 0x1002d40, 0x1002d42, 0x1002d41 ] };
+ key <LatJ> { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] };
+ key <LatK> { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] };
+ key <LatL> { [ 0x1002d4d ] };
+ key <LatM> { [ 0x1002d4e ] };
+
+ key <LatW> { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] };
+ key <LatX> { [ 0x1002d45, 0x1002d46 ] };
+ key <LatC> { [ 0x1002d5b, 0x1002d5e ] };
+ key <LatV> { [ 0x1002d56, 0x1002d57, 0x1002d58 ] };
+ key <LatB> { [ 0x1002d31, 0x1002d31, 0x1002d32 ] };
+ key <LatN> { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] };
+
+ include "level3(ralt_switch)"
+};
+
|