aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2010-08-23 14:15:19 +0000
committermarha <marha@users.sourceforge.net>2010-08-23 14:15:19 +0000
commita219a0434f082a1d1faca472c14ba8c8e6d0fbc7 (patch)
tree41f0fddb8d4af0b7df7212e195d2b81df2c4acdf
parenta6913ef6cbee338f4f0001be4bde3960ce2cdf00 (diff)
parenta3f15e28f545a51f0a0139c38944ed324bafb94f (diff)
downloadvcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.tar.gz
vcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.tar.bz2
vcxsrv-a219a0434f082a1d1faca472c14ba8c8e6d0fbc7.zip
svn merge ^/branches/released .
-rw-r--r--xorg-server/configure.ac4
-rw-r--r--xorg-server/fb/fbbits.h2
-rw-r--r--xorg-server/glx/glxcmds.c7
-rw-r--r--xorg-server/hw/xfree86/ddc/interpret_edid.c2
-rw-r--r--xorg-server/render/render.c8
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in17
-rw-r--r--xorg-server/xkeyboard-config/symbols/de50
-rw-r--r--xorg-server/xkeyboard-config/symbols/ma650
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)"
+};
+