Hi,

> There's a comment in the keysymdef.h file:
> 
>  * When adding new keysyms to this file, do not forget to also update the
>  * following:
>  *
>  *   - the mappings in src/KeyBind.c in the repo
>  *     git://anongit.freedesktop.org/xorg/lib/libX11
>  *
>  *   - the protocol specification in specs/XProtocol/X11.keysyms
>  *     in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
> 
> As it's just additional mnemonics and not a new keyboard it should not
> affect KeyBind.c

ezh/EZH happened to be in ranges covered by IPAExt_upper_mapping and
LatinExtB_{upper,lower}_mapping mappings in KeyBind.c already but indeed
permille needed a mapping in src/xlibi18n/imKStoUCS.c as was done for
partialderivative in commit c859446c500c883a67f7a86cab1a44844e24dade.

I've now tested by building patched libX11 against the updated
keysymdef.h and ezh/EZH/permille work in compose maps and keyboard map
files as expected.

I'm attaching an updated patch to update the comment section, a patch
for the needed mapping in libX11, and, while at it, updating compose
maps to use the ezh/EZH mnemonics.

Thanks,

-- 
Marko Myllynen
>From 7378cb0ffe9f6e4ea83017eff23a7f94bf4896a4 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Mon, 17 Oct 2011 10:42:57 +0300
Subject: [PATCH] x11proto: add permille, ezh, and EZH to keysymdef.h

This patch adds the following mnemonic symbols:

XK_permille  for   U+2030 PER MILLE SIGN
XK_EZH       for   U+01B7 LATIN CAPITAL LETTER EZH
XK_ezh       for   U+0292 LATIN SMALL LETTER EZH

These are the last mnemonic symbols missing from the Finnish keyboard
layout. The characters are part of the Finnish standard, ezh is used
in Sami and permille sign is used commonly in Finland, probably in
other countries as well.

https://bugs.freedesktop.org/show_bug.cgi?id=19687
---
 keysymdef.h |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/keysymdef.h b/keysymdef.h
index f96bc09..8c2369c 100644
--- a/keysymdef.h
+++ b/keysymdef.h
@@ -102,13 +102,13 @@ SOFTWARE.
  * does not represent any existing Unicode character.
  *
  * When adding new keysyms to this file, do not forget to also update the
- * following:
+ * following as needed:
  *
  *   - the mappings in src/KeyBind.c in the repo
- *     git://anongit.freedesktop.org/xorg/lib/libX11
+ *     git://anongit.freedesktop.org/xorg/lib/libX11.git
  *
- *   - the protocol specification in specs/XProtocol/X11.keysyms
- *     in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
+ *   - the protocol specification in specs/keysyms.xml
+ *     in the repo git://anongit.freedesktop.org/xorg/proto/x11proto.git
  *
  */
 
@@ -1467,6 +1467,7 @@ SOFTWARE.
 #define XK_leftdoublequotemark           0x0ad2  /* U+201C LEFT DOUBLE 
QUOTATION MARK */
 #define XK_rightdoublequotemark          0x0ad3  /* U+201D RIGHT DOUBLE 
QUOTATION MARK */
 #define XK_prescription                  0x0ad4  /* U+211E PRESCRIPTION TAKE */
+#define XK_permille                      0x0ad5  /* U+2030 PER MILLE SIGN */
 #define XK_minutes                       0x0ad6  /* U+2032 PRIME */
 #define XK_seconds                       0x0ad7  /* U+2033 DOUBLE PRIME */
 #define XK_latincross                    0x0ad9  /* U+271D LATIN CROSS */
@@ -1970,6 +1971,8 @@ SOFTWARE.
 #define XK_obarred                    0x1000275  /* U+0275 LATIN SMALL LETTER 
BARRED O */
 #define XK_SCHWA                      0x100018f  /* U+018F LATIN CAPITAL 
LETTER SCHWA */
 #define XK_schwa                      0x1000259  /* U+0259 LATIN SMALL LETTER 
SCHWA */
+#define XK_EZH                        0x10001b7  /* U+01B7 LATIN CAPITAL 
LETTER EZH */
+#define XK_ezh                        0x1000292  /* U+0292 LATIN SMALL LETTER 
EZH */
 /* those are not really Caucasus */
 /* For Inupiak */
 #define XK_Lbelowdot                  0x1001e36  /* U+1E36 LATIN CAPITAL 
LETTER L WITH DOT BELOW */
-- 
1.7.1

>From a57b5787d8250d518adf898757bc5b8f55cdfda3 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Mon, 17 Oct 2011 10:49:48 +0300
Subject: [PATCH] [i18n] Provide translation from XK_permille (ad5) to Unicode 
(U2030)

---
 src/xlibi18n/imKStoUCS.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/src/xlibi18n/imKStoUCS.c b/src/xlibi18n/imKStoUCS.c
index 5cfce42..640b351 100644
--- a/src/xlibi18n/imKStoUCS.c
+++ b/src/xlibi18n/imKStoUCS.c
@@ -143,7 +143,7 @@ static unsigned short const keysym_to_unicode_aa1_afe[] = {
     0x2105, 0x0000, 0x0000, 0x2012, 0x2039, 0x2024, 0x203a, 0x0000, /* 
0x0ab8-0x0abf */
     0x0000, 0x0000, 0x0000, 0x215b, 0x215c, 0x215d, 0x215e, 0x0000, /* 
0x0ac0-0x0ac7 */
     0x0000, 0x2122, 0x2120, 0x0000, 0x25c1, 0x25b7, 0x25cb, 0x25ad, /* 
0x0ac8-0x0acf */
-    0x2018, 0x2019, 0x201c, 0x201d, 0x211e, 0x0000, 0x2032, 0x2033, /* 
0x0ad0-0x0ad7 */
+    0x2018, 0x2019, 0x201c, 0x201d, 0x211e, 0x2030, 0x2032, 0x2033, /* 
0x0ad0-0x0ad7 */
     0x0000, 0x271d, 0x0000, 0x220e, 0x25c2, 0x2023, 0x25cf, 0x25ac, /* 
0x0ad8-0x0adf */
     0x25e6, 0x25ab, 0x25ae, 0x25b5, 0x25bf, 0x2606, 0x2022, 0x25aa, /* 
0x0ae0-0x0ae7 */
     0x25b4, 0x25be, 0x261a, 0x261b, 0x2663, 0x2666, 0x2665, 0x0000, /* 
0x0ae8-0x0aef */
-- 
1.7.1

>From 73faa16d0a15b19f557ed74fe157957c1e577e91 Mon Sep 17 00:00:00 2001
From: Marko Myllynen <[email protected]>
Date: Mon, 17 Oct 2011 11:54:16 +0300
Subject: [PATCH] Use ezh/EZH in compose maps

---
 nls/en_US.UTF-8/Compose.pre |    8 ++++----
 nls/fi_FI.UTF-8/Compose.pre |    4 ++--
 nls/pt_BR.UTF-8/Compose.pre |    8 ++++----
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre
index d5b01b1..edbe0c8 100644
--- a/nls/en_US.UTF-8/Compose.pre
+++ b/nls/en_US.UTF-8/Compose.pre
@@ -1119,10 +1119,10 @@ XCOMM Part 3
 <Multi_key> <macron> <semicolon> <o>   : "Ç­"   U01ED # LATIN SMALL LETTER O 
WITH OGONEK AND MACRON
 <Multi_key> <underscore> <dead_ogonek> <o>     : "Ç­"   U01ED # LATIN SMALL 
LETTER O WITH OGONEK AND MACRON
 <Multi_key> <underscore> <semicolon> <o>       : "Ç­"   U01ED # LATIN SMALL 
LETTER O WITH OGONEK AND MACRON
-<dead_caron> <U01B7>           : "Ç®"   U01EE # LATIN CAPITAL LETTER EZH WITH 
CARON
-<Multi_key> <c> <U01B7>        : "Ç®"   U01EE # LATIN CAPITAL LETTER EZH WITH 
CARON
-<dead_caron> <U0292>           : "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH 
CARON
-<Multi_key> <c> <U0292>        : "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH 
CARON
+<dead_caron> <EZH>             : "Ç®"   U01EE # LATIN CAPITAL LETTER EZH WITH 
CARON
+<Multi_key> <c> <EZH>          : "Ç®"   U01EE # LATIN CAPITAL LETTER EZH WITH 
CARON
+<dead_caron> <ezh>             : "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH 
CARON
+<Multi_key> <c> <ezh>          : "ǯ"   U01EF # LATIN SMALL LETTER EZH WITH 
CARON
 <dead_caron> <j>                       : "ǰ"   U01F0 # LATIN SMALL LETTER J 
WITH CARON
 <Multi_key> <c> <j>                    : "ǰ"   U01F0 # LATIN SMALL LETTER J 
WITH CARON
 <dead_acute> <G>                       : "Ç´"   U01F4 # LATIN CAPITAL LETTER G 
WITH ACUTE
diff --git a/nls/fi_FI.UTF-8/Compose.pre b/nls/fi_FI.UTF-8/Compose.pre
index bb6aab7..fbe8597 100644
--- a/nls/fi_FI.UTF-8/Compose.pre
+++ b/nls/fi_FI.UTF-8/Compose.pre
@@ -104,8 +104,8 @@ XCOMM Sequences with COMBINING CARON / <dead_caron>
 <dead_caron> <U>                        : "Ǔ"   # LATIN CAPITAL LETTER U WITH 
CARON
 <dead_caron> <z>                        : "ž"   # LATIN SMALL LETTER Z WITH 
CARON
 <dead_caron> <Z>                        : "Ž"   # LATIN CAPITAL LETTER Z WITH 
CARON
-<dead_caron> <U0292>                    : "ǯ"   # LATIN SMALL LETTER EZH WITH 
CARON
-<dead_caron> <U01B7>                    : "Ç®"   # LATIN CAPITAL LETTER EZH 
WITH CARON
+<dead_caron> <ezh>                      : "ǯ"   # LATIN SMALL LETTER EZH WITH 
CARON
+<dead_caron> <EZH>                      : "Ç®"   # LATIN CAPITAL LETTER EZH 
WITH CARON
 
 XCOMM Sequences with COMBINING CEDILLA / <dead_cedilla>
 <dead_cedilla> <space>                  : "¸"   # CEDILLA
diff --git a/nls/pt_BR.UTF-8/Compose.pre b/nls/pt_BR.UTF-8/Compose.pre
index 641c969..b6d7c8a 100644
--- a/nls/pt_BR.UTF-8/Compose.pre
+++ b/nls/pt_BR.UTF-8/Compose.pre
@@ -1028,10 +1028,10 @@ XCOMM group 1: cluster jamos made of three basic jamos
 <Multi_key> <macron> <semicolon> <o>   : "Ç­" U01ED # LATIN SMALL LETTER O 
WITH OGONEK AND MACRON
 <Multi_key> <underscore> <dead_ogonek> <o>     : "Ç­" U01ED # LATIN SMALL 
LETTER O WITH OGONEK AND MACRON
 <Multi_key> <underscore> <semicolon> <o>       : "Ç­" U01ED # LATIN SMALL 
LETTER O WITH OGONEK AND MACRON
-<dead_caron> <U01b7>   : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
-<Multi_key> <c> <U01b7>        : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH 
CARON
-<dead_caron> <U0292>   : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
-<Multi_key> <c> <U0292>        : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<dead_caron> <EZH>     : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<Multi_key> <c> <EZH>  : "Ç®" U01EE # LATIN CAPITAL LETTER EZH WITH CARON
+<dead_caron> <ezh>     : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
+<Multi_key> <c> <ezh>  : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON
 <dead_caron> <j>       : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
 <Multi_key> <c> <j>    : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON
 <dead_acute> <G>       : "Ç´" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE
-- 
1.7.1

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to