aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libX11/docbook.am192
-rw-r--r--libX11/modules/im/ximcp/imRmAttr.c3036
-rw-r--r--libX11/specs/XIM/Makefile.am2
-rw-r--r--libX11/specs/i18n/framework/Makefile.am4
-rw-r--r--libX11/specs/i18n/localedb/Makefile.am4
-rw-r--r--libX11/specs/i18n/trans/Makefile.am4
-rw-r--r--libX11/specs/libX11/Makefile.am4
-rw-r--r--libxcb/src/xcb.h43
-rw-r--r--libxcb/src/xcb_in.c49
-rw-r--r--libxcb/src/xcb_util.c24
-rw-r--r--libxcb/src/xcbint.h2
-rw-r--r--xorg-server/xkeyboard-config/rules/base.extras.xml.in84
-rw-r--r--xorg-server/xkeyboard-config/rules/base.xml.in117
-rw-r--r--xorg-server/xkeyboard-config/symbols/brai4
-rw-r--r--xorg-server/xkeyboard-config/symbols/bw2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ch18
-rw-r--r--xorg-server/xkeyboard-config/symbols/epo2
-rw-r--r--xorg-server/xkeyboard-config/symbols/es20
-rw-r--r--xorg-server/xkeyboard-config/symbols/et2
-rw-r--r--xorg-server/xkeyboard-config/symbols/fi2
-rw-r--r--xorg-server/xkeyboard-config/symbols/gb18
-rw-r--r--xorg-server/xkeyboard-config/symbols/ie10
-rw-r--r--xorg-server/xkeyboard-config/symbols/ir2
-rw-r--r--xorg-server/xkeyboard-config/symbols/jp10
-rw-r--r--xorg-server/xkeyboard-config/symbols/ke4
-rw-r--r--xorg-server/xkeyboard-config/symbols/kg4
-rw-r--r--xorg-server/xkeyboard-config/symbols/kh2
-rw-r--r--xorg-server/xkeyboard-config/symbols/kr4
-rw-r--r--xorg-server/xkeyboard-config/symbols/kz8
-rw-r--r--xorg-server/xkeyboard-config/symbols/la4
-rw-r--r--xorg-server/xkeyboard-config/symbols/latam8
-rw-r--r--xorg-server/xkeyboard-config/symbols/lk6
-rw-r--r--xorg-server/xkeyboard-config/symbols/lt14
-rw-r--r--xorg-server/xkeyboard-config/symbols/lv526
-rw-r--r--xorg-server/xkeyboard-config/symbols/me16
-rw-r--r--xorg-server/xkeyboard-config/symbols/mk4
-rw-r--r--xorg-server/xkeyboard-config/symbols/ml8
-rw-r--r--xorg-server/xkeyboard-config/symbols/mm2
-rw-r--r--xorg-server/xkeyboard-config/symbols/mn2
-rw-r--r--xorg-server/xkeyboard-config/symbols/mt4
-rw-r--r--xorg-server/xkeyboard-config/symbols/mv2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ng8
-rw-r--r--xorg-server/xkeyboard-config/symbols/no14
-rw-r--r--xorg-server/xkeyboard-config/symbols/np2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ph20
-rw-r--r--xorg-server/xkeyboard-config/symbols/pk12
-rw-r--r--xorg-server/xkeyboard-config/symbols/pl16
-rw-r--r--xorg-server/xkeyboard-config/symbols/pt14
-rw-r--r--xorg-server/xkeyboard-config/symbols/ro14
-rw-r--r--xorg-server/xkeyboard-config/symbols/rs20
-rw-r--r--xorg-server/xkeyboard-config/symbols/ru40
-rw-r--r--xorg-server/xkeyboard-config/symbols/se16
-rw-r--r--xorg-server/xkeyboard-config/symbols/si6
-rw-r--r--xorg-server/xkeyboard-config/symbols/sk8
-rw-r--r--xorg-server/xkeyboard-config/symbols/sn84
-rw-r--r--xorg-server/xkeyboard-config/symbols/sy12
-rw-r--r--xorg-server/xkeyboard-config/symbols/th8
-rw-r--r--xorg-server/xkeyboard-config/symbols/tj4
-rw-r--r--xorg-server/xkeyboard-config/symbols/tm4
-rw-r--r--xorg-server/xkeyboard-config/symbols/tr24
-rw-r--r--xorg-server/xkeyboard-config/symbols/tw6
-rw-r--r--xorg-server/xkeyboard-config/symbols/tz2
-rw-r--r--xorg-server/xkeyboard-config/symbols/ua16
-rw-r--r--xorg-server/xkeyboard-config/symbols/us14
-rw-r--r--xorg-server/xkeyboard-config/symbols/uz4
-rw-r--r--xorg-server/xkeyboard-config/symbols/vn2
-rw-r--r--xorg-server/xkeyboard-config/symbols/za2
67 files changed, 2530 insertions, 2115 deletions
diff --git a/libX11/docbook.am b/libX11/docbook.am
index 3cf21e879..94602521b 100644
--- a/libX11/docbook.am
+++ b/libX11/docbook.am
@@ -1,95 +1,97 @@
-#
-# Generate output formats for a single DocBook/XML with/without chapters
-#
-# Variables set by the calling Makefile:
-# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
-# docbook: the main DocBook/XML file, no chapters, appendix or image files
-# chapters: all files pulled in by an XInclude statement and images.
-#
-
-#
-# This makefile is intended for Users Documentation and Functional Specifications.
-# Do not use for Developer Documentation which is not installed and does not require olink.
-# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
-# for an explanation on documents classification.
-#
-
-# DocBook/XML generated output formats to be installed
-shelf_DATA =
-
-# DocBook/XML file with chapters, appendix and images it includes
-dist_shelf_DATA = $(docbook) $(chapters)
-
-#
-# Generate DocBook/XML output formats with or without stylesheets
-#
-
-# Stylesheets are available if the package xorg-sgml-doctools is installed
-if HAVE_STYLESHEETS
-
-# The location where all cross reference databases are installed
-sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
-masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
-XMLTO_FLAGS = \
- --searchpath "$(XORG_SGML_PATH)/X11" \
- --stringparam target.database.document=$(masterdb) \
- --stringparam current.docid="$(<:.xml=)" \
- --stringparam collect.xref.targets="no"
-
-XMLTO_XHTML_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
- --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
-
-XMLTO_FO_FLAGS = \
- -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
-endif HAVE_STYLESHEETS
-
-shelf_DATA += $(docbook:.xml=.html)
-%.html: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<
-
-if HAVE_FOP
-shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
-%.pdf: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
-%.ps: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
-endif HAVE_FOP
-
-if HAVE_XMLTO_TEXT
-shelf_DATA += $(docbook:.xml=.txt)
-%.txt: %.xml $(chapters)
- $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
-endif HAVE_XMLTO_TEXT
-
-#
-# Generate documents cross-reference target databases
-#
-
-# This is only possible if the xorg-sgml-doctools package is installed
-if HAVE_STYLESHEETS
-if HAVE_XSLTPROC
-
-# DocBook/XML generated document cross-reference database
-sgmldbs_DATA = $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
-
-# Generate DocBook/XML document cross-reference database
-# Flags for the XSL Transformation processor generating xref target databases
-XSLTPROC_FLAGS = \
- --path "$(XORG_SGML_PATH)/X11" \
- --stringparam targets.filename "$@" \
- --stringparam collect.xref.targets "only" \
- --nonet --xinclude
-
-%.html.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<
-
-%.fo.db: %.xml $(chapters)
- $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
- http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
-
-endif HAVE_XSLTPROC
-endif HAVE_STYLESHEETS
-
-CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA)
+#
+# Generate output formats for a single DocBook/XML with/without chapters
+#
+# Variables set by the calling Makefile:
+# shelfdir: the location where the docs/specs are installed. Typically $(docdir)
+# docbook: the main DocBook/XML file, no chapters, appendix or image files
+# chapters: all files pulled in by an XInclude statement and images.
+#
+
+#
+# This makefile is intended for Users Documentation and Functional Specifications.
+# Do not use for Developer Documentation which is not installed and does not require olink.
+# Refer to http://www.x.org/releases/X11R7.6/doc/xorg-docs/ReleaseNotes.html#id2584393
+# for an explanation on documents classification.
+#
+
+# DocBook/XML generated output formats to be installed
+shelf_DATA =
+
+# DocBook/XML file with chapters, appendix and images it includes
+dist_shelf_DATA = $(docbook) $(chapters)
+
+if HAVE_XMLTO
+#
+# Generate DocBook/XML output formats with or without stylesheets
+#
+
+# Stylesheets are available if the package xorg-sgml-doctools is installed
+if HAVE_STYLESHEETS
+
+# The location where all cross reference databases are installed
+sgmldbsdir = $(XORG_SGML_PATH)/X11/dbs
+masterdb = "$(sgmldbsdir)/masterdb$(suffix $@).xml"
+XMLTO_FLAGS = \
+ --searchpath "$(XORG_SGML_PATH)/X11" \
+ --stringparam target.database.document=$(masterdb) \
+ --stringparam current.docid="$(<:.xml=)" \
+ --stringparam collect.xref.targets="no"
+
+XMLTO_XHTML_FLAGS = \
+ -x $(STYLESHEET_SRCDIR)/xorg-xhtml.xsl \
+ --stringparam html.stylesheet=$(STYLESHEET_SRCDIR)/xorg.css
+
+XMLTO_FO_FLAGS = \
+ -x $(STYLESHEET_SRCDIR)/xorg-fo.xsl
+endif HAVE_STYLESHEETS
+
+shelf_DATA += $(docbook:.xml=.html)
+%.html: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) xhtml-nochunks $<
+
+if HAVE_FOP
+shelf_DATA += $(docbook:.xml=.pdf) $(docbook:.xml=.ps)
+%.pdf: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop pdf $<
+%.ps: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_FO_FLAGS) --with-fop ps $<
+endif HAVE_FOP
+
+if HAVE_XMLTO_TEXT
+shelf_DATA += $(docbook:.xml=.txt)
+%.txt: %.xml $(chapters)
+ $(AM_V_GEN)$(XMLTO) $(XMLTO_FLAGS) $(XMLTO_XHTML_FLAGS) txt $<
+endif HAVE_XMLTO_TEXT
+
+#
+# Generate documents cross-reference target databases
+#
+
+# This is only possible if the xorg-sgml-doctools package is installed
+if HAVE_STYLESHEETS
+if HAVE_XSLTPROC
+
+# DocBook/XML generated document cross-reference database
+sgmldbs_DATA = $(docbook:.xml=.html.db) $(docbook:.xml=.fo.db)
+
+# Generate DocBook/XML document cross-reference database
+# Flags for the XSL Transformation processor generating xref target databases
+XSLTPROC_FLAGS = \
+ --path "$(XORG_SGML_PATH)/X11" \
+ --stringparam targets.filename "$@" \
+ --stringparam collect.xref.targets "only" \
+ --nonet --xinclude
+
+%.html.db: %.xml $(chapters)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
+ http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl $<
+
+%.fo.db: %.xml $(chapters)
+ $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_FLAGS) \
+ http://docbook.sourceforge.net/release/xsl/current/fo/docbook.xsl $<
+
+endif HAVE_XSLTPROC
+endif HAVE_STYLESHEETS
+endif HAVE_XMLTO
+
+CLEANFILES = $(shelf_DATA) $(sgmldbs_DATA)
diff --git a/libX11/modules/im/ximcp/imRmAttr.c b/libX11/modules/im/ximcp/imRmAttr.c
index 5035df514..f31af79aa 100644
--- a/libX11/modules/im/ximcp/imRmAttr.c
+++ b/libX11/modules/im/ximcp/imRmAttr.c
@@ -1,1518 +1,1518 @@
-/******************************************************************
-
- Copyright 1992, 1993, 1994 by FUJITSU LIMITED
-
-Permission to use, copy, modify, distribute, and sell this software
-and its documentation for any purpose is hereby granted without fee,
-provided that the above copyright notice appear in all copies and
-that both that copyright notice and this permission notice appear
-in supporting documentation, and that the name of FUJITSU LIMITED
-not be used in advertising or publicity pertaining to distribution
-of the software without specific, written prior permission.
-FUJITSU LIMITED makes no representations about the suitability of
-this software for any purpose.
-It is provided "as is" without express or implied warranty.
-
-FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
-INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
-EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
-OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-PERFORMANCE OF THIS SOFTWARE.
-
- Author: Takashi Fujiwara FUJITSU LIMITED
- fujiwara@a80.tech.yk.fujitsu.co.jp
-
-******************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include "Xlibint.h"
-#include "Xlcint.h"
-#include "Ximint.h"
-
-
-Private XIMResourceList
-_XimGetNestedListSeparator(
- XIMResourceList res_list, /* LISTofIMATTR or IMATTR */
- unsigned int res_num)
-{
- return _XimGetResourceListRec(res_list, res_num, XNSeparatorofNestedList);
-}
-
-Private Bool
-_XimCheckInnerIMAttributes(
- Xim im,
- XIMArg *arg,
- unsigned long mode)
-{
- XIMResourceList res;
- int check;
-
- if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
- im->private.proto.im_num_inner_resources, arg->name)))
- return False;
-
- check = _XimCheckIMMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- return True;
- else if(check == XIM_CHECK_ERROR)
- return False;
-
- return True;
-}
-
-Public char *
-_XimMakeIMAttrIDList(
- Xim im,
- XIMResourceList res_list,
- unsigned int res_num,
- XIMArg *arg,
- CARD16 *buf,
- INT16 *len,
- unsigned long mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
-
- *len = 0;
- if (!arg)
- return (char *)NULL;
-
- for (p = arg; p->name; p++) {
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimCheckInnerIMAttributes(im, p, mode))
- continue;
- return p->name;
- }
-
- check = _XimCheckIMMode(res, mode);
- if (check == XIM_CHECK_INVALID)
- continue;
- else if (check == XIM_CHECK_ERROR)
- return p->name;
-
- *buf = res->id;
- *len += sizeof(CARD16);
- buf++;
- }
- return (char *)NULL;
-}
-
-Private Bool
-_XimCheckInnerICAttributes(
- Xic ic,
- XIMArg *arg,
- unsigned long mode)
-{
- XIMResourceList res;
- int check;
-
- if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
- ic->private.proto.ic_num_inner_resources, arg->name)))
- return False;
-
- check = _XimCheckICMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- return True;
- else if(check == XIM_CHECK_ERROR)
- return False;
-
- return True;
-}
-
-Public char *
-_XimMakeICAttrIDList(
- Xic ic,
- XIMResourceList res_list,
- unsigned int res_num,
- XIMArg *arg,
- CARD16 *buf,
- INT16 *len,
- unsigned long mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
- XrmQuark pre_quark;
- XrmQuark sts_quark;
- char *name;
- INT16 new_len;
-
- *len = 0;
- if (!arg)
- return (char *)NULL;
-
- pre_quark = XrmStringToQuark(XNPreeditAttributes);
- sts_quark = XrmStringToQuark(XNStatusAttributes);
-
- for (p = arg; p && p->name; p++) {
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimCheckInnerICAttributes(ic, p, mode))
- continue;
- *len = -1;
- return p->name;
- }
-
- check = _XimCheckICMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- continue;
- else if(check == XIM_CHECK_ERROR) {
- *len = -1;
- return p->name;
- }
-
- *buf = res->id;
- *len += sizeof(CARD16);
- buf++;
- if (res->resource_size == XimType_NEST) {
- if (res->xrm_name == pre_quark) {
- if ((name = _XimMakeICAttrIDList(ic, res_list, res_num,
- (XIMArg *)p->value, buf, &new_len,
- (mode | XIM_PREEDIT_ATTR)))) {
- if (new_len < 0) *len = -1;
- else *len += new_len;
- return name;
- }
- } else if (res->xrm_name == sts_quark) {
- if ((name = _XimMakeICAttrIDList(ic, res_list, res_num,
- (XIMArg *)p->value, buf, &new_len,
- (mode | XIM_STATUS_ATTR)))) {
- if (new_len < 0) *len = -1;
- else *len += new_len;
- return name;
- }
- }
- *len += new_len;
- buf = (CARD16 *)((char *)buf + new_len);
- if (!(res = _XimGetNestedListSeparator(res_list, res_num))) {
- p++;
- if (p) {
- *len = -1;
- return p->name;
- }
- else {
- return (char *)NULL;
- }
- }
- *buf = res->id;
- *len += sizeof(CARD16);
- buf++;
- }
- }
- return (char *)NULL;
-}
-
-Private Bool
-_XimAttributeToValue(
- Xic ic,
- XIMResourceList res,
- CARD16 *data,
- INT16 data_len,
- XPointer value,
- BITMASK32 mode)
-{
- switch (res->resource_size) {
- case XimType_SeparatorOfNestedList:
- case XimType_NEST:
- break;
-
- case XimType_CARD8:
- case XimType_CARD16:
- case XimType_CARD32:
- case XimType_Window:
- case XimType_XIMHotKeyState:
- _XCopyToArg((XPointer)data, (XPointer *)&value, data_len);
- break;
-
- case XimType_STRING8:
- {
- char *str;
-
- if (!(value))
- return False;
-
- if (!(str = (char *)Xmalloc(data_len + 1)))
- return False;
-
- (void)memcpy(str, (char *)data, data_len);
- str[data_len] = '\0';
-
- *((char **)value) = str;
- break;
- }
-
- case XimType_XIMStyles:
- {
- INT16 num = data[0];
- register CARD32 *style_list = (CARD32 *)&data[2];
- XIMStyle *style;
- XIMStyles *rep;
- register int i;
- char *p;
- int alloc_len;
-
- if (!(value))
- return False;
-
- alloc_len = sizeof(XIMStyles) + sizeof(XIMStyle) * num;
- if (!(p = (char *)Xmalloc(alloc_len)))
- return False;
-
- rep = (XIMStyles *)p;
- style = (XIMStyle *)(p + sizeof(XIMStyles));
-
- for (i = 0; i < num; i++)
- style[i] = (XIMStyle)style_list[i];
-
- rep->count_styles = (unsigned short)num;
- rep->supported_styles = style;
- *((XIMStyles **)value) = rep;
- break;
- }
-
- case XimType_XRectangle:
- {
- XRectangle *rep;
-
- if (!(value))
- return False;
-
- if (!(rep = (XRectangle *)Xmalloc(sizeof(XRectangle))))
- return False;
-
- rep->x = data[0];
- rep->y = data[1];
- rep->width = data[2];
- rep->height = data[3];
- *((XRectangle **)value) = rep;
- break;
- }
-
- case XimType_XPoint:
- {
- XPoint *rep;
-
- if (!(value))
- return False;
-
- if (!(rep = (XPoint *)Xmalloc(sizeof(XPoint))))
- return False;
-
- rep->x = data[0];
- rep->y = data[1];
- *((XPoint **)value) = rep;
- break;
- }
-
- case XimType_XFontSet:
- {
- INT16 len = data[0];
- char *base_name;
- XFontSet rep = (XFontSet)NULL;
- char **missing_list = NULL;
- int missing_count;
- char *def_string;
-
- if (!(value))
- return False;
- if (!ic)
- return False;
-
- if (!(base_name = (char *)Xmalloc(len + 1)))
- return False;
-
- (void)strncpy(base_name, (char *)&data[1], (int)len);
- base_name[len] = '\0';
-
- if (mode & XIM_PREEDIT_ATTR) {
- if (!strcmp(base_name, ic->private.proto.preedit_font)) {
- rep = ic->core.preedit_attr.fontset;
- } else if (!ic->private.proto.preedit_font_length) {
- rep = XCreateFontSet(ic->core.im->core.display,
- base_name, &missing_list,
- &missing_count, &def_string);
- }
- } else if (mode & XIM_STATUS_ATTR) {
- if (!strcmp(base_name, ic->private.proto.status_font)) {
- rep = ic->core.status_attr.fontset;
- } else if (!ic->private.proto.status_font_length) {
- rep = XCreateFontSet(ic->core.im->core.display,
- base_name, &missing_list,
- &missing_count, &def_string);
- }
- }
-
- Xfree(base_name);
- Xfree(missing_list);
- *((XFontSet *)value) = rep;
- break;
- }
-
- case XimType_XIMHotKeyTriggers:
- {
- INT32 num = *((CARD32 *)data);
- register CARD32 *key_list = (CARD32 *)&data[2];
- XIMHotKeyTrigger *key;
- XIMHotKeyTriggers *rep;
- register int i;
- char *p;
- int alloc_len;
-
- if (!(value))
- return False;
-
- alloc_len = sizeof(XIMHotKeyTriggers)
- + sizeof(XIMHotKeyTrigger) * num;
- if (!(p = (char *)Xmalloc(alloc_len)))
- return False;
-
- rep = (XIMHotKeyTriggers *)p;
- key = (XIMHotKeyTrigger *)(p + sizeof(XIMHotKeyTriggers));
-
- for (i = 0; i < num; i++, key_list += 3) {
- key[i].keysym = (KeySym)key_list[0]; /* keysym */
- key[i].modifier = (int)key_list[1]; /* modifier */
- key[i].modifier_mask = (int)key_list[2]; /* modifier_mask */
- }
-
- rep->num_hot_key = (int)num;
- rep->key = key;
- *((XIMHotKeyTriggers **)value) = rep;
- break;
- }
-
- case XimType_XIMStringConversion:
- {
- break;
- }
-
- default:
- return False;
- }
- return True;
-}
-
-Private Bool
-_XimDecodeInnerIMATTRIBUTE(
- Xim im,
- XIMArg *arg)
-{
- XIMResourceList res;
- XimDefIMValues im_values;
-
- if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
- im->private.proto.im_num_inner_resources, arg->name)))
- return False;
-
- _XimGetCurrentIMValues(im, &im_values);
- return _XimDecodeLocalIMAttr(res, (XPointer)&im_values, arg->value);
-}
-
-Public char *
-_XimDecodeIMATTRIBUTE(
- Xim im,
- XIMResourceList res_list,
- unsigned int res_num,
- CARD16 *data,
- INT16 data_len,
- XIMArg *arg,
- BITMASK32 mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
- INT16 len;
- CARD16 *buf;
- INT16 total;
- INT16 min_len = sizeof(CARD16) /* sizeof attributeID */
- + sizeof(INT16); /* sizeof length */
-
- for (p = arg; p->name; p++) {
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimDecodeInnerIMATTRIBUTE(im, p))
- continue;
- return p->name;
- }
-
- check = _XimCheckIMMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- continue;
- else if(check == XIM_CHECK_ERROR)
- return p->name;
-
- total = data_len;
- buf = data;
- while (total >= min_len) {
- if (res->id == buf[0])
- break;
-
- len = buf[1];
- len += XIM_PAD(len) + min_len;
- buf = (CARD16 *)((char *)buf + len);
- total -= len;
- }
- if (total < min_len)
- return p->name;
-
- if (!(_XimAttributeToValue((Xic) im->private.local.current_ic,
- res, &buf[2], buf[1], p->value, mode)))
- return p->name;
- }
- return (char *)NULL;
-}
-
-Private Bool
-_XimDecodeInnerICATTRIBUTE(
- Xic ic,
- XIMArg *arg,
- unsigned long mode)
-{
- XIMResourceList res;
- XimDefICValues ic_values;
-
- if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
- ic->private.proto.ic_num_inner_resources, arg->name)))
- return False;
-
- _XimGetCurrentICValues(ic, &ic_values);
- if (!_XimDecodeLocalICAttr(res, (XPointer)&ic_values, arg->value, mode))
- return False;
- _XimSetCurrentICValues(ic, &ic_values);
- return True;
-}
-
-Public char *
-_XimDecodeICATTRIBUTE(
- Xic ic,
- XIMResourceList res_list,
- unsigned int res_num,
- CARD16 *data,
- INT16 data_len,
- XIMArg *arg,
- BITMASK32 mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
- INT16 len;
- CARD16 *buf;
- INT16 total;
- char *name;
- INT16 min_len = sizeof(CARD16) /* sizeof attributeID */
- + sizeof(INT16); /* sizeof length */
- XrmQuark pre_quark;
- XrmQuark sts_quark;
-
- if (!arg)
- return (char *)NULL;
-
- pre_quark = XrmStringToQuark(XNPreeditAttributes);
- sts_quark = XrmStringToQuark(XNStatusAttributes);
-
- for (p = arg; p->name; p++) {
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimDecodeInnerICATTRIBUTE(ic, p, mode))
- continue;
- return p->name;
- }
-
- check = _XimCheckICMode(res, mode);
- if (check == XIM_CHECK_INVALID)
- continue;
- else if (check == XIM_CHECK_ERROR)
- return p->name;
-
- total = data_len;
- buf = data;
- while (total >= min_len) {
- if (res->id == buf[0])
- break;
-
- len = buf[1];
- len += XIM_PAD(len) + min_len;
- buf = (CARD16 *)((char *)buf + len);
- total -= len;
- }
- if (total < min_len)
- return p->name;
-
- if (res->resource_size == XimType_NEST) {
- if (res->xrm_name == pre_quark) {
- if ((name = _XimDecodeICATTRIBUTE(ic, res_list, res_num,
- &buf[2], buf[1], (XIMArg *)p->value,
- (mode | XIM_PREEDIT_ATTR))))
- return name;
- } else if (res->xrm_name == sts_quark) {
- if ((name = _XimDecodeICATTRIBUTE(ic, res_list, res_num,
- &buf[2], buf[1], (XIMArg *)p->value,
- (mode | XIM_STATUS_ATTR))))
- return name;
- }
- } else {
- if (!(_XimAttributeToValue(ic, res, &buf[2], buf[1],
- p->value, mode)))
- return p->name;
- }
- }
- return (char *)NULL;
-}
-
-Private Bool
-_XimValueToAttribute(
- XIMResourceList res,
- XPointer buf,
- int buf_size,
- XPointer value,
- int *len,
- unsigned long mode,
- XPointer param)
-{
- int ret_len;
-
- switch (res->resource_size) {
- case XimType_SeparatorOfNestedList:
- case XimType_NEST:
- *len = 0;
- break;
-
- case XimType_CARD8:
- ret_len = sizeof(CARD8);
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- *((CARD8 *)buf) = (CARD8)(long)value;
- *len = ret_len;
- break;
-
- case XimType_CARD16:
- ret_len = sizeof(CARD16);
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- *((CARD16 *)buf) = (CARD16)(long)value;
- *len = ret_len;
- break;
-
- case XimType_CARD32:
- case XimType_Window:
- case XimType_XIMHotKeyState:
- ret_len = sizeof(CARD32);
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- *((CARD32 *)buf) = (CARD32)(long)value;
- *len = ret_len;
- break;
-
- case XimType_STRING8:
- if (!value) {
- *len = 0;
- return False;
- }
-
- ret_len = strlen((char *)value);
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- (void)memcpy((char *)buf, (char *)value, ret_len);
- *len = ret_len;
- break;
-
- case XimType_XRectangle:
- {
- XRectangle *rect = (XRectangle *)value;
- CARD16 *buf_s = (CARD16 *)buf;
-
- if (!rect) {
- *len = 0;
- return False;
- }
-
- ret_len = sizeof(INT16) /* sizeof X */
- + sizeof(INT16) /* sizeof Y */
- + sizeof(CARD16) /* sizeof width */
- + sizeof(CARD16); /* sizeof height */
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- buf_s[0] = (CARD16)rect->x; /* X */
- buf_s[1] = (CARD16)rect->y; /* Y */
- buf_s[2] = (CARD16)rect->width; /* width */
- buf_s[3] = (CARD16)rect->height; /* heght */
- *len = ret_len;
- break;
- }
-
- case XimType_XPoint:
- {
- XPoint *point = (XPoint *)value;
- CARD16 *buf_s = (CARD16 *)buf;
-
- if (!point) {
- *len = 0;
- return False;
- }
-
- ret_len = sizeof(INT16) /* sizeof X */
- + sizeof(INT16); /* sizeof Y */
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- buf_s[0] = (CARD16)point->x; /* X */
- buf_s[1] = (CARD16)point->y; /* Y */
- *len = ret_len;
- break;
- }
-
- case XimType_XFontSet:
- {
- XFontSet font = (XFontSet)value;
- Xic ic = (Xic)param;
- char *base_name = NULL;
- int length = 0;
- CARD16 *buf_s = (CARD16 *)buf;
-
- if (!font) {
- *len = 0;
- return False;
- }
-
- if (mode & XIM_PREEDIT_ATTR) {
- base_name = ic->private.proto.preedit_font;
- length = ic->private.proto.preedit_font_length;
- } else if (mode & XIM_STATUS_ATTR) {
- base_name = ic->private.proto.status_font;
- length = ic->private.proto.status_font_length;
- }
-
- if (!base_name) {
- *len = 0;
- return False;
- }
-
- ret_len = sizeof(CARD16) /* sizeof length of Base name */
- + length; /* sizeof Base font name list */
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- buf_s[0] = (INT16)length; /* length of Base font name */
- (void)memcpy((char *)&buf_s[1], base_name, length);
- /* Base font name list */
- *len = ret_len;
- break;
- }
-
- case XimType_XIMHotKeyTriggers:
- {
- XIMHotKeyTriggers *hotkey = (XIMHotKeyTriggers *)value;
- INT32 num;
- CARD32 *buf_l = (CARD32 *)buf;
- register CARD32 *key = (CARD32 *)&buf_l[1];
- register int i;
-
- if (!hotkey) {
- *len = 0;
- return False;
- }
- num = (INT32)hotkey->num_hot_key;
-
- ret_len = sizeof(INT32) /* sizeof number of key list */
- + (sizeof(CARD32) /* sizeof keysyn */
- + sizeof(CARD32) /* sizeof modifier */
- + sizeof(CARD32)) /* sizeof modifier_mask */
- * num; /* number of key list */
- if (buf_size < ret_len + XIM_PAD(ret_len)) {
- *len = -1;
- return False;
- }
-
- buf_l[0] = num; /* number of key list */
- for (i = 0; i < num; i++, key += 3) {
- key[0] = (CARD32)(hotkey->key[i].keysym);
- /* keysym */
- key[1] = (CARD32)(hotkey->key[i].modifier);
- /* modifier */
- key[2] = (CARD32)(hotkey->key[i].modifier_mask);
- /* modifier_mask */
- }
- *len = ret_len;
- break;
- }
-
- case XimType_XIMStringConversion:
- {
- *len = 0;
- break;
- }
-
- default:
- return False;
- }
- return True;
-}
-
-Private Bool
-_XimSetInnerIMAttributes(
- Xim im,
- XPointer top,
- XIMArg *arg,
- unsigned long mode)
-{
- XIMResourceList res;
- int check;
-
- if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
- im->private.proto.im_num_inner_resources, arg->name)))
- return False;
-
- check = _XimCheckIMMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- return True;
- else if(check == XIM_CHECK_ERROR)
- return False;
-
- return _XimEncodeLocalIMAttr(res, top, arg->value);
-}
-
-Public char *
-_XimEncodeIMATTRIBUTE(
- Xim im,
- XIMResourceList res_list,
- unsigned int res_num,
- XIMArg *arg,
- XIMArg **arg_ret,
- char *buf,
- int size,
- int *ret_len,
- XPointer top,
- unsigned long mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
- CARD16 *buf_s;
- int len;
- int min_len = sizeof(CARD16) /* sizeof attribute ID */
- + sizeof(INT16); /* sizeof value length */
-
- *ret_len = 0;
- for (p = arg; p->name; p++) {
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimSetInnerIMAttributes(im, top, p, mode))
- continue;
- return p->name;
- }
-
- check = _XimCheckIMMode(res, mode);
- if (check == XIM_CHECK_INVALID)
- continue;
- else if (check == XIM_CHECK_ERROR)
- return p->name;
-
- if (!(_XimEncodeLocalIMAttr(res, top, p->value)))
- return p->name;
-
- buf_s = (CARD16 *)buf;
- if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2], (size - min_len),
- p->value, &len, mode, (XPointer)NULL)))
- return p->name;
-
- if (len == 0) {
- continue;
- } else if (len < 0) {
- *arg_ret = p;
- return (char *)NULL;
- }
-
- buf_s[0] = res->id; /* attribute ID */
- buf_s[1] = len; /* value length */
- XIM_SET_PAD(&buf_s[2], len); /* pad */
- len += min_len;
-
- buf += len;
- *ret_len += len;
- size -= len;
- }
- *arg_ret = (XIMArg *)NULL;
- return (char *)NULL;
-}
-
-#ifdef XIM_CONNECTABLE
-Public Bool
-_XimEncodeSavedIMATTRIBUTE(
- Xim im,
- XIMResourceList res_list,
- unsigned int res_num,
- int *idx,
- char *buf,
- int size,
- int *ret_len,
- XPointer top,
- unsigned long mode)
-{
- register int i;
- int num = im->private.proto.num_saved_imvalues;
- XrmQuark *quark_list = im->private.proto.saved_imvalues;
- XIMResourceList res;
- XPointer value;
- CARD16 *buf_s;
- int len;
- int min_len = sizeof(CARD16) /* sizeof attribute ID */
- + sizeof(INT16); /* sizeof value length */
-
- if (!im->private.proto.saved_imvalues) {
- *idx = -1;
- *ret_len = 0;
- return True;
- }
-
- *ret_len = 0;
- for (i = *idx; i < num; i++) {
- if (!(res = _XimGetResourceListRecByQuark(res_list,
- res_num, quark_list[i])))
- continue;
-
- if (!_XimDecodeLocalIMAttr(res, top, value))
- return False;
-
- buf_s = (CARD16 *)buf;
- if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
- (size - min_len), value, &len, mode, (XPointer)NULL)))
- return False;
-
- if (len == 0) {
- continue;
- } else if (len < 0) {
- *idx = i;
- return True;
- }
-
- buf_s[0] = res->id; /* attribute ID */
- buf_s[1] = len; /* value length */
- XIM_SET_PAD(&buf_s[2], len); /* pad */
- len += min_len;
-
- buf += len;
- *ret_len += len;
- size -= len;
- }
- *idx = -1;
- return True;
-}
-#endif /* XIM_CONNECTABLE */
-
-Private Bool
-_XimEncodeTopValue(
- Xic ic,
- XIMResourceList res,
- XIMArg *p)
-{
- if (res->xrm_name == XrmStringToQuark(XNClientWindow)) {
- ic->core.client_window = (Window)p->value;
- if (ic->core.focus_window == (Window)0)
- ic->core.focus_window = ic->core.client_window;
- _XimRegisterFilter(ic);
-
- } else if (res->xrm_name == XrmStringToQuark(XNFocusWindow)) {
- if (ic->core.client_window) {
- _XimUnregisterFilter(ic);
- ic->core.focus_window = (Window)p->value;
- _XimRegisterFilter(ic);
- } else /* client_window not yet */
- ic->core.focus_window = (Window)p->value;
- }
- return True;
-}
-
-Private Bool
-_XimEncodePreeditValue(
- Xic ic,
- XIMResourceList res,
- XIMArg *p)
-{
- if (res->xrm_name == XrmStringToQuark(XNStdColormap)) {
- XStandardColormap *colormap_ret;
- int count;
-
- if (!(XGetRGBColormaps(ic->core.im->core.display,
- ic->core.focus_window, &colormap_ret,
- &count, (Atom)p->value)))
- return False;
-
- XFree(colormap_ret);
- } else if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
- int list_ret;
- XFontStruct **struct_list;
- char **name_list;
- char *tmp;
- int len;
- register int i;
-
- if (!p->value)
- return False;
-
- if (ic->private.proto.preedit_font)
- Xfree(ic->private.proto.preedit_font);
-
- list_ret = XFontsOfFontSet((XFontSet)p->value,
- &struct_list, &name_list);
- for (i = 0, len = 0; i < list_ret; i++) {
- len += (strlen(name_list[i]) + sizeof(char));
- }
- if (!(tmp = Xmalloc(len + 1))) {
- ic->private.proto.preedit_font = NULL;
- return False;
- }
-
- tmp[0] = '\0';
- for (i = 0; i < list_ret; i++) {
- strcat(tmp, name_list[i]);
- strcat(tmp, ",");
- }
- tmp[len - 1] = 0;
- ic->private.proto.preedit_font = tmp;
- ic->private.proto.preedit_font_length = len - 1;
- }
- return True;
-}
-
-Private Bool
-_XimEncodeStatusValue(
- Xic ic,
- XIMResourceList res,
- XIMArg *p)
-{
- if (res->xrm_name == XrmStringToQuark(XNStdColormap)) {
- XStandardColormap *colormap_ret = NULL;
- int count;
-
- if (!(XGetRGBColormaps(ic->core.im->core.display,
- ic->core.focus_window, &colormap_ret,
- &count, (Atom)p->value)))
- return False;
-
- XFree(colormap_ret);
- } else if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
- int list_ret;
- XFontStruct **struct_list;
- char **name_list;
- char *tmp;
- int len;
- register int i;
-
- if (!p->value)
- return False;
-
- if (ic->private.proto.status_font)
- Xfree(ic->private.proto.status_font);
-
- list_ret = XFontsOfFontSet((XFontSet)p->value,
- &struct_list, &name_list);
- for (i = 0, len = 0; i < list_ret; i++) {
- len += (strlen(name_list[i]) + sizeof(char));
- }
- if (!(tmp = Xmalloc(len+1))) {
- ic->private.proto.status_font = NULL;
- return False;
- }
-
- tmp[0] = '\0';
- for(i = 0; i < list_ret; i++) {
- strcat(tmp, name_list[i]);
- strcat(tmp, ",");
- }
- tmp[len - 1] = 0;
- ic->private.proto.status_font = tmp;
- ic->private.proto.status_font_length = len - 1;
- }
- return True;
-}
-
-Private Bool
-_XimSetInnerICAttributes(
- Xic ic,
- XPointer top,
- XIMArg *arg,
- unsigned long mode)
-{
- XIMResourceList res;
- int check;
-
- if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
- ic->private.proto.ic_num_inner_resources, arg->name)))
- return False;
-
- check = _XimCheckICMode(res, mode);
- if(check == XIM_CHECK_INVALID)
- return True;
- else if(check == XIM_CHECK_ERROR)
- return False;
-
- return _XimEncodeLocalICAttr(ic, res, top, arg, mode);
-}
-
-Public char *
-_XimEncodeICATTRIBUTE(
- Xic ic,
- XIMResourceList res_list,
- unsigned int res_num,
- XIMArg *arg,
- XIMArg **arg_ret,
- char *buf,
- int size,
- int *ret_len,
- XPointer top,
- BITMASK32 *flag,
- unsigned long mode)
-{
- register XIMArg *p;
- XIMResourceList res;
- int check;
- CARD16 *buf_s;
- int len;
- int min_len = sizeof(CARD16) /* sizeof attribute ID */
- + sizeof(INT16); /* sizeof value length */
- XrmQuark pre_quark;
- XrmQuark sts_quark;
- char *name;
-
- pre_quark = XrmStringToQuark(XNPreeditAttributes);
- sts_quark = XrmStringToQuark(XNStatusAttributes);
-
- *ret_len = 0;
- for (p = arg; p && p->name; p++) {
- buf_s = (CARD16 *)buf;
- if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
- if (_XimSetInnerICAttributes(ic, top, p, mode))
- continue;
- return p->name;
- }
-
- check = _XimCheckICMode(res, mode);
- if (check == XIM_CHECK_INVALID)
- continue;
- else if (check == XIM_CHECK_ERROR)
- return p->name;
-
- if (mode & XIM_PREEDIT_ATTR) {
- if (!(_XimEncodePreeditValue(ic, res, p)))
- return p->name;
- } else if (mode & XIM_STATUS_ATTR) {
- if (!(_XimEncodeStatusValue(ic, res, p)))
- return p->name;
- } else {
- if (!(_XimEncodeTopValue(ic, res, p)))
- return p->name;
- }
-
- if (res->resource_size == XimType_NEST) {
- XimDefICValues *ic_attr = (XimDefICValues *)top;
-
- if (res->xrm_name == pre_quark) {
- XIMArg *arg_rt;
- if ((name = _XimEncodeICATTRIBUTE(ic, res_list, res_num,
- (XIMArg *)p->value, &arg_rt,
- (char *)&buf_s[2], (size - min_len),
- &len, (XPointer)&ic_attr->preedit_attr, flag,
- (mode | XIM_PREEDIT_ATTR)))) {
- return name;
- }
-
- } else if (res->xrm_name == sts_quark) {
- XIMArg *arg_rt;
- if ((name = _XimEncodeICATTRIBUTE(ic, res_list, res_num,
- (XIMArg *)p->value, &arg_rt,
- (char *)&buf_s[2], (size - min_len),
- &len, (XPointer)&ic_attr->status_attr, flag,
- (mode | XIM_STATUS_ATTR)))) {
- return name;
- }
- }
- } else {
-#ifdef EXT_MOVE
- if (flag)
- *flag |= _XimExtenArgCheck(p);
-#endif
- if (!(_XimEncodeLocalICAttr(ic, res, top, p, mode)))
- return p->name;
-
- if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
- (size - min_len), p->value,
- &len, mode, (XPointer)ic)))
- return p->name;
- }
-
- if (len == 0) {
- continue;
- } else if (len < 0) {
- *arg_ret = p;
- return (char *)NULL;
- }
-
- buf_s[0] = res->id; /* attribute ID */
- buf_s[1] = len; /* value length */
- XIM_SET_PAD(&buf_s[2], len); /* pad */
- len += min_len;
-
- buf += len;
- *ret_len += len;
- size -= len;
- }
- *arg_ret = (XIMArg *)NULL;
- return (char *)NULL;
-}
-
-#ifdef XIM_CONNECTABLE
-Private Bool
-_XimEncodeSavedPreeditValue(
- Xic ic,
- XIMResourceList res,
- XPointer value)
-{
- int list_ret;
- XFontStruct **struct_list;
- char **name_list;
- char *tmp;
- int len;
- register int i;
-
- if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
- if (!value)
- return False;
-
- if (ic->private.proto.preedit_font)
- Xfree(ic->private.proto.preedit_font);
-
- list_ret = XFontsOfFontSet((XFontSet)value,
- &struct_list, &name_list);
- for(i = 0, len = 0; i < list_ret; i++) {
- len += (strlen(name_list[i]) + sizeof(char));
- }
- if(!(tmp = Xmalloc(len + 1))) {
- ic->private.proto.preedit_font = NULL;
- return False;
- }
-
- tmp[0] = '\0';
- for(i = 0; i < list_ret; i++) {
- strcat(tmp, name_list[i]);
- strcat(tmp, ",");
- }
- tmp[len - 1] = 0;
- ic->private.proto.preedit_font = tmp;
- ic->private.proto.preedit_font_length = len - 1;
- }
- return True;
-}
-
-Private Bool
-_XimEncodeSavedStatusValue(
- Xic ic,
- XIMResourceList res,
- XPointer value)
-{
- int list_ret;
- XFontStruct **struct_list;
- char **name_list;
- char *tmp;
- int len;
- register int i;
-
- if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
- if (!value)
- return False;
-
- if (ic->private.proto.status_font)
- Xfree(ic->private.proto.status_font);
-
- list_ret = XFontsOfFontSet((XFontSet)value,
- &struct_list, &name_list);
- for(i = 0, len = 0; i < list_ret; i++) {
- len += (strlen(name_list[i]) + sizeof(char));
- }
- if(!(tmp = Xmalloc(len + 1))) {
- ic->private.proto.status_font = NULL;
- return False;
- }
-
- tmp[0] = '\0';
- for(i = 0; i < list_ret; i++) {
- strcat(tmp, name_list[i]);
- strcat(tmp, ",");
- }
- tmp[len - 1] = 0;
- ic->private.proto.status_font = tmp;
- ic->private.proto.status_font_length = len - 1;
- }
- return True;
-}
-
-Public Bool
-_XimEncodeSavedICATTRIBUTE(
- Xic ic,
- XIMResourceList res_list,
- unsigned int res_num,
- int *idx,
- char *buf,
- int size,
- int *ret_len,
- XPointer top,
- unsigned long mode)
-{
- int i;
- int num = ic->private.proto.num_saved_icvalues;
- XrmQuark *quark_list = ic->private.proto.saved_icvalues;
- XIMResourceList res;
- XPointer value;
- CARD16 *buf_s;
- int len;
- int min_len = sizeof(CARD16) /* sizeof attribute ID */
- + sizeof(INT16); /* sizeof value length */
- XrmQuark pre_quark;
- XrmQuark sts_quark;
- XrmQuark separator;
-
- if (!ic->private.proto.saved_icvalues) {
- *idx = -1;
- *ret_len = 0;
- return True;
- }
-
- pre_quark = XrmStringToQuark(XNPreeditAttributes);
- sts_quark = XrmStringToQuark(XNStatusAttributes);
- separator = XrmStringToQuark(XNSeparatorofNestedList);
-
- *ret_len = 0;
- for (i = *idx; i < num; i++) {
- if (quark_list[i] == separator) {
- *idx = i;
- return True;
- }
-
- if (!(res = _XimGetResourceListRecByQuark(res_list,
- res_num, quark_list[i])))
- continue;
-
- if (!_XimDecodeLocalICAttr(res, top,(XPointer)&value, mode))
- return False;
-
- if (mode & XIM_PREEDIT_ATTR) {
- if (!(_XimEncodeSavedPreeditValue(ic, res, value))) {
- return False;
- }
- } else if (mode & XIM_STATUS_ATTR) {
- if (!(_XimEncodeSavedStatusValue(ic, res, value))) {
- return False;
- }
- }
-
- buf_s = (CARD16 *)buf;
- if (res->resource_size == XimType_NEST) {
- XimDefICValues *ic_attr = (XimDefICValues *)top;
-
- i++;
- if (res->xrm_name == pre_quark) {
- if (!_XimEncodeSavedICATTRIBUTE(ic, res_list, res_num,
- &i, (char *)&buf_s[2], (size - min_len),
- &len, (XPointer)&ic_attr->preedit_attr,
- (mode | XIM_PREEDIT_ATTR))) {
- return False;
- }
-
- } else if (res->xrm_name == sts_quark) {
- if (!_XimEncodeSavedICATTRIBUTE(ic, res_list, res_num,
- &i, (char *)&buf_s[2], (size - min_len),
- &len, (XPointer)&ic_attr->status_attr,
- (mode | XIM_STATUS_ATTR))) {
- return False;
- }
- }
- } else {
- if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
- (size - min_len), value,
- &len, mode, (XPointer)ic))) {
- return False;
- }
- }
-
- if (len == 0) {
- continue;
- } else if (len < 0) {
- if (quark_list[i] == separator)
- i++;
- *idx = i;
- return True;
- }
-
- buf_s[0] = res->id; /* attribute ID */
- buf_s[1] = len; /* value length */
- XIM_SET_PAD(&buf_s[2], len); /* pad */
- len += min_len;
-
- buf += len;
- *ret_len += len;
- size -= len;
- }
- *idx = -1;
- return True;
-}
-#endif /* XIM_CONNECTABLE */
-
-Private unsigned int
-_XimCountNumberOfAttr(
- INT16 total,
- CARD16 *attr,
- int *names_len)
-{
- unsigned int n;
- INT16 len;
- INT16 min_len = sizeof(CARD16) /* sizeof attrinute ID */
- + sizeof(CARD16) /* sizeof type of value */
- + sizeof(INT16); /* sizeof length of attribute */
-
- n = 0;
- *names_len = 0;
- while (total > min_len) {
- len = attr[2];
- *names_len += (len + 1);
- len += (min_len + XIM_PAD(len + 2));
- total -= len;
- attr = (CARD16 *)((char *)attr + len);
- n++;
- }
- return n;
-}
-
-Public Bool
-_XimGetAttributeID(
- Xim im,
- CARD16 *buf)
-{
- unsigned int n;
- XIMResourceList res;
- int res_len;
- char *names;
- int names_len;
- XPointer tmp;
- XIMValuesList *values_list;
- char **values;
- int values_len;
- register int i;
- INT16 len;
- INT16 min_len = sizeof(CARD16) /* sizeof attrinute ID */
- + sizeof(CARD16) /* sizeof type of value */
- + sizeof(INT16); /* sizeof length of attr */
- /*
- * IM attribute ID
- */
-
- if (!(n = _XimCountNumberOfAttr(buf[0], &buf[1], &names_len)))
- return False;
- res_len = sizeof(XIMResource) * n;
-
- if (!(res = (XIMResourceList)Xmalloc(res_len)))
- return False;
- bzero((char *)res, res_len);
-
- values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
- if (!(tmp = (XPointer)Xmalloc(values_len)))
- return False;
- bzero(tmp, values_len);
-
- values_list = (XIMValuesList *)tmp;
- values = (char **)((char *)tmp + sizeof(XIMValuesList));
- names = (char *)((char *)values + (sizeof(char **) * n));
-
- values_list->count_values = n;
- values_list->supported_values = values;
-
- buf++;
- for (i = 0; i < n; i++) {
- len = buf[2];
- (void)memcpy(names, (char *)&buf[3], len);
- values[i] = names;
- names[len] = '\0';
- res[i].resource_name = names;
- res[i].resource_size = buf[1];
- res[i].id = buf[0];
- names += (len + 1);
- len += (min_len + XIM_PAD(len + 2));
- buf = (CARD16 *)((char *)buf + len);
- }
- _XIMCompileResourceList(res, n);
-
- if (im->core.im_resources)
- Xfree(im->core.im_resources);
- if (im->core.im_values_list)
- Xfree(im->core.im_values_list);
- im->core.im_resources = res;
- im->core.im_num_resources = n;
- im->core.im_values_list = values_list;
-
- /*
- * IC attribute ID
- */
-
- if (!(n = _XimCountNumberOfAttr(buf[0], &buf[2], &names_len)))
- return False;
- res_len = sizeof(XIMResource) * n;
-
- if (!(res = (XIMResourceList)Xmalloc(res_len)))
- return False;
- bzero((char *)res, res_len);
-
- values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
- if (!(tmp = (XPointer)Xmalloc(values_len)))
- return False;
- bzero(tmp, values_len);
-
- values_list = (XIMValuesList *)tmp;
- values = (char **)((char *)tmp + sizeof(XIMValuesList));
- names = (char *)((char *)values + (sizeof(char **) * n));
-
- values_list->count_values = n;
- values_list->supported_values = values;
-
- buf += 2;
- for (i = 0; i < n; i++) {
- len = buf[2];
- (void)memcpy(names, (char *)&buf[3], len);
- values[i] = names;
- names[len] = '\0';
- res[i].resource_name = names;
- res[i].resource_size = buf[1];
- res[i].id = buf[0];
- names += (len + 1);
- len += (min_len + XIM_PAD(len + 2));
- buf = (CARD16 *)((char *)buf + len);
- }
- _XIMCompileResourceList(res, n);
-
- if (im->core.ic_resources)
- Xfree(im->core.ic_resources);
- if (im->core.ic_values_list)
- Xfree(im->core.ic_values_list);
- im->core.ic_resources = res;
- im->core.ic_num_resources = n;
- im->core.ic_values_list = values_list;
-
- return True;
-}
+/******************************************************************
+
+ Copyright 1992, 1993, 1994 by FUJITSU LIMITED
+
+Permission to use, copy, modify, distribute, and sell this software
+and its documentation for any purpose is hereby granted without fee,
+provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear
+in supporting documentation, and that the name of FUJITSU LIMITED
+not be used in advertising or publicity pertaining to distribution
+of the software without specific, written prior permission.
+FUJITSU LIMITED makes no representations about the suitability of
+this software for any purpose.
+It is provided "as is" without express or implied warranty.
+
+FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+
+ Author: Takashi Fujiwara FUJITSU LIMITED
+ fujiwara@a80.tech.yk.fujitsu.co.jp
+
+******************************************************************/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "Xlibint.h"
+#include "Xlcint.h"
+#include "Ximint.h"
+
+
+Private XIMResourceList
+_XimGetNestedListSeparator(
+ XIMResourceList res_list, /* LISTofIMATTR or IMATTR */
+ unsigned int res_num)
+{
+ return _XimGetResourceListRec(res_list, res_num, XNSeparatorofNestedList);
+}
+
+Private Bool
+_XimCheckInnerIMAttributes(
+ Xim im,
+ XIMArg *arg,
+ unsigned long mode)
+{
+ XIMResourceList res;
+ int check;
+
+ if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
+ im->private.proto.im_num_inner_resources, arg->name)))
+ return False;
+
+ check = _XimCheckIMMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ return True;
+ else if(check == XIM_CHECK_ERROR)
+ return False;
+
+ return True;
+}
+
+Public char *
+_XimMakeIMAttrIDList(
+ Xim im,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ XIMArg *arg,
+ CARD16 *buf,
+ INT16 *len,
+ unsigned long mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+
+ *len = 0;
+ if (!arg)
+ return (char *)NULL;
+
+ for (p = arg; p->name; p++) {
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimCheckInnerIMAttributes(im, p, mode))
+ continue;
+ return p->name;
+ }
+
+ check = _XimCheckIMMode(res, mode);
+ if (check == XIM_CHECK_INVALID)
+ continue;
+ else if (check == XIM_CHECK_ERROR)
+ return p->name;
+
+ *buf = res->id;
+ *len += sizeof(CARD16);
+ buf++;
+ }
+ return (char *)NULL;
+}
+
+Private Bool
+_XimCheckInnerICAttributes(
+ Xic ic,
+ XIMArg *arg,
+ unsigned long mode)
+{
+ XIMResourceList res;
+ int check;
+
+ if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
+ ic->private.proto.ic_num_inner_resources, arg->name)))
+ return False;
+
+ check = _XimCheckICMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ return True;
+ else if(check == XIM_CHECK_ERROR)
+ return False;
+
+ return True;
+}
+
+Public char *
+_XimMakeICAttrIDList(
+ Xic ic,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ XIMArg *arg,
+ CARD16 *buf,
+ INT16 *len,
+ unsigned long mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+ XrmQuark pre_quark;
+ XrmQuark sts_quark;
+ char *name;
+ INT16 new_len;
+
+ *len = 0;
+ if (!arg)
+ return (char *)NULL;
+
+ pre_quark = XrmStringToQuark(XNPreeditAttributes);
+ sts_quark = XrmStringToQuark(XNStatusAttributes);
+
+ for (p = arg; p && p->name; p++) {
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimCheckInnerICAttributes(ic, p, mode))
+ continue;
+ *len = -1;
+ return p->name;
+ }
+
+ check = _XimCheckICMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ continue;
+ else if(check == XIM_CHECK_ERROR) {
+ *len = -1;
+ return p->name;
+ }
+
+ *buf = res->id;
+ *len += sizeof(CARD16);
+ buf++;
+ if (res->resource_size == XimType_NEST) {
+ if (res->xrm_name == pre_quark) {
+ if ((name = _XimMakeICAttrIDList(ic, res_list, res_num,
+ (XIMArg *)p->value, buf, &new_len,
+ (mode | XIM_PREEDIT_ATTR)))) {
+ if (new_len < 0) *len = -1;
+ else *len += new_len;
+ return name;
+ }
+ } else if (res->xrm_name == sts_quark) {
+ if ((name = _XimMakeICAttrIDList(ic, res_list, res_num,
+ (XIMArg *)p->value, buf, &new_len,
+ (mode | XIM_STATUS_ATTR)))) {
+ if (new_len < 0) *len = -1;
+ else *len += new_len;
+ return name;
+ }
+ }
+ *len += new_len;
+ buf = (CARD16 *)((char *)buf + new_len);
+ if (!(res = _XimGetNestedListSeparator(res_list, res_num))) {
+ p++;
+ if (p) {
+ *len = -1;
+ return p->name;
+ }
+ else {
+ return (char *)NULL;
+ }
+ }
+ *buf = res->id;
+ *len += sizeof(CARD16);
+ buf++;
+ }
+ }
+ return (char *)NULL;
+}
+
+Private Bool
+_XimAttributeToValue(
+ Xic ic,
+ XIMResourceList res,
+ CARD16 *data,
+ INT16 data_len,
+ XPointer value,
+ BITMASK32 mode)
+{
+ switch (res->resource_size) {
+ case XimType_SeparatorOfNestedList:
+ case XimType_NEST:
+ break;
+
+ case XimType_CARD8:
+ case XimType_CARD16:
+ case XimType_CARD32:
+ case XimType_Window:
+ case XimType_XIMHotKeyState:
+ _XCopyToArg((XPointer)data, (XPointer *)&value, data_len);
+ break;
+
+ case XimType_STRING8:
+ {
+ char *str;
+
+ if (!(value))
+ return False;
+
+ if (!(str = (char *)Xmalloc(data_len + 1)))
+ return False;
+
+ (void)memcpy(str, (char *)data, data_len);
+ str[data_len] = '\0';
+
+ *((char **)value) = str;
+ break;
+ }
+
+ case XimType_XIMStyles:
+ {
+ INT16 num = data[0];
+ register CARD32 *style_list = (CARD32 *)&data[2];
+ XIMStyle *style;
+ XIMStyles *rep;
+ register int i;
+ char *p;
+ int alloc_len;
+
+ if (!(value))
+ return False;
+
+ alloc_len = sizeof(XIMStyles) + sizeof(XIMStyle) * num;
+ if (!(p = (char *)Xmalloc(alloc_len)))
+ return False;
+
+ rep = (XIMStyles *)p;
+ style = (XIMStyle *)(p + sizeof(XIMStyles));
+
+ for (i = 0; i < num; i++)
+ style[i] = (XIMStyle)style_list[i];
+
+ rep->count_styles = (unsigned short)num;
+ rep->supported_styles = style;
+ *((XIMStyles **)value) = rep;
+ break;
+ }
+
+ case XimType_XRectangle:
+ {
+ XRectangle *rep;
+
+ if (!(value))
+ return False;
+
+ if (!(rep = (XRectangle *)Xmalloc(sizeof(XRectangle))))
+ return False;
+
+ rep->x = data[0];
+ rep->y = data[1];
+ rep->width = data[2];
+ rep->height = data[3];
+ *((XRectangle **)value) = rep;
+ break;
+ }
+
+ case XimType_XPoint:
+ {
+ XPoint *rep;
+
+ if (!(value))
+ return False;
+
+ if (!(rep = (XPoint *)Xmalloc(sizeof(XPoint))))
+ return False;
+
+ rep->x = data[0];
+ rep->y = data[1];
+ *((XPoint **)value) = rep;
+ break;
+ }
+
+ case XimType_XFontSet:
+ {
+ INT16 len = data[0];
+ char *base_name;
+ XFontSet rep = (XFontSet)NULL;
+ char **missing_list = NULL;
+ int missing_count;
+ char *def_string;
+
+ if (!(value))
+ return False;
+ if (!ic)
+ return False;
+
+ if (!(base_name = (char *)Xmalloc(len + 1)))
+ return False;
+
+ (void)strncpy(base_name, (char *)&data[1], (int)len);
+ base_name[len] = '\0';
+
+ if (mode & XIM_PREEDIT_ATTR) {
+ if (!strcmp(base_name, ic->private.proto.preedit_font)) {
+ rep = ic->core.preedit_attr.fontset;
+ } else if (!ic->private.proto.preedit_font_length) {
+ rep = XCreateFontSet(ic->core.im->core.display,
+ base_name, &missing_list,
+ &missing_count, &def_string);
+ }
+ } else if (mode & XIM_STATUS_ATTR) {
+ if (!strcmp(base_name, ic->private.proto.status_font)) {
+ rep = ic->core.status_attr.fontset;
+ } else if (!ic->private.proto.status_font_length) {
+ rep = XCreateFontSet(ic->core.im->core.display,
+ base_name, &missing_list,
+ &missing_count, &def_string);
+ }
+ }
+
+ Xfree(base_name);
+ Xfree(missing_list);
+ *((XFontSet *)value) = rep;
+ break;
+ }
+
+ case XimType_XIMHotKeyTriggers:
+ {
+ INT32 num = *((CARD32 *)data);
+ register CARD32 *key_list = (CARD32 *)&data[2];
+ XIMHotKeyTrigger *key;
+ XIMHotKeyTriggers *rep;
+ register int i;
+ char *p;
+ int alloc_len;
+
+ if (!(value))
+ return False;
+
+ alloc_len = sizeof(XIMHotKeyTriggers)
+ + sizeof(XIMHotKeyTrigger) * num;
+ if (!(p = (char *)Xmalloc(alloc_len)))
+ return False;
+
+ rep = (XIMHotKeyTriggers *)p;
+ key = (XIMHotKeyTrigger *)(p + sizeof(XIMHotKeyTriggers));
+
+ for (i = 0; i < num; i++, key_list += 3) {
+ key[i].keysym = (KeySym)key_list[0]; /* keysym */
+ key[i].modifier = (int)key_list[1]; /* modifier */
+ key[i].modifier_mask = (int)key_list[2]; /* modifier_mask */
+ }
+
+ rep->num_hot_key = (int)num;
+ rep->key = key;
+ *((XIMHotKeyTriggers **)value) = rep;
+ break;
+ }
+
+ case XimType_XIMStringConversion:
+ {
+ break;
+ }
+
+ default:
+ return False;
+ }
+ return True;
+}
+
+Private Bool
+_XimDecodeInnerIMATTRIBUTE(
+ Xim im,
+ XIMArg *arg)
+{
+ XIMResourceList res;
+ XimDefIMValues im_values;
+
+ if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
+ im->private.proto.im_num_inner_resources, arg->name)))
+ return False;
+
+ _XimGetCurrentIMValues(im, &im_values);
+ return _XimDecodeLocalIMAttr(res, (XPointer)&im_values, arg->value);
+}
+
+Public char *
+_XimDecodeIMATTRIBUTE(
+ Xim im,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ CARD16 *data,
+ INT16 data_len,
+ XIMArg *arg,
+ BITMASK32 mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+ INT16 len;
+ CARD16 *buf;
+ INT16 total;
+ INT16 min_len = sizeof(CARD16) /* sizeof attributeID */
+ + sizeof(INT16); /* sizeof length */
+
+ for (p = arg; p->name; p++) {
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimDecodeInnerIMATTRIBUTE(im, p))
+ continue;
+ return p->name;
+ }
+
+ check = _XimCheckIMMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ continue;
+ else if(check == XIM_CHECK_ERROR)
+ return p->name;
+
+ total = data_len;
+ buf = data;
+ while (total >= min_len) {
+ if (res->id == buf[0])
+ break;
+
+ len = buf[1];
+ len += XIM_PAD(len) + min_len;
+ buf = (CARD16 *)((char *)buf + len);
+ total -= len;
+ }
+ if (total < min_len)
+ return p->name;
+
+ if (!(_XimAttributeToValue((Xic) im->private.local.current_ic,
+ res, &buf[2], buf[1], p->value, mode)))
+ return p->name;
+ }
+ return (char *)NULL;
+}
+
+Private Bool
+_XimDecodeInnerICATTRIBUTE(
+ Xic ic,
+ XIMArg *arg,
+ unsigned long mode)
+{
+ XIMResourceList res;
+ XimDefICValues ic_values;
+
+ if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
+ ic->private.proto.ic_num_inner_resources, arg->name)))
+ return False;
+
+ _XimGetCurrentICValues(ic, &ic_values);
+ if (!_XimDecodeLocalICAttr(res, (XPointer)&ic_values, arg->value, mode))
+ return False;
+ _XimSetCurrentICValues(ic, &ic_values);
+ return True;
+}
+
+Public char *
+_XimDecodeICATTRIBUTE(
+ Xic ic,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ CARD16 *data,
+ INT16 data_len,
+ XIMArg *arg,
+ BITMASK32 mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+ INT16 len;
+ CARD16 *buf;
+ INT16 total;
+ char *name;
+ INT16 min_len = sizeof(CARD16) /* sizeof attributeID */
+ + sizeof(INT16); /* sizeof length */
+ XrmQuark pre_quark;
+ XrmQuark sts_quark;
+
+ if (!arg)
+ return (char *)NULL;
+
+ pre_quark = XrmStringToQuark(XNPreeditAttributes);
+ sts_quark = XrmStringToQuark(XNStatusAttributes);
+
+ for (p = arg; p->name; p++) {
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimDecodeInnerICATTRIBUTE(ic, p, mode))
+ continue;
+ return p->name;
+ }
+
+ check = _XimCheckICMode(res, mode);
+ if (check == XIM_CHECK_INVALID)
+ continue;
+ else if (check == XIM_CHECK_ERROR)
+ return p->name;
+
+ total = data_len;
+ buf = data;
+ while (total >= min_len) {
+ if (res->id == buf[0])
+ break;
+
+ len = buf[1];
+ len += XIM_PAD(len) + min_len;
+ buf = (CARD16 *)((char *)buf + len);
+ total -= len;
+ }
+ if (total < min_len)
+ return p->name;
+
+ if (res->resource_size == XimType_NEST) {
+ if (res->xrm_name == pre_quark) {
+ if ((name = _XimDecodeICATTRIBUTE(ic, res_list, res_num,
+ &buf[2], buf[1], (XIMArg *)p->value,
+ (mode | XIM_PREEDIT_ATTR))))
+ return name;
+ } else if (res->xrm_name == sts_quark) {
+ if ((name = _XimDecodeICATTRIBUTE(ic, res_list, res_num,
+ &buf[2], buf[1], (XIMArg *)p->value,
+ (mode | XIM_STATUS_ATTR))))
+ return name;
+ }
+ } else {
+ if (!(_XimAttributeToValue(ic, res, &buf[2], buf[1],
+ p->value, mode)))
+ return p->name;
+ }
+ }
+ return (char *)NULL;
+}
+
+Private Bool
+_XimValueToAttribute(
+ XIMResourceList res,
+ XPointer buf,
+ int buf_size,
+ XPointer value,
+ int *len,
+ unsigned long mode,
+ XPointer param)
+{
+ int ret_len;
+
+ switch (res->resource_size) {
+ case XimType_SeparatorOfNestedList:
+ case XimType_NEST:
+ *len = 0;
+ break;
+
+ case XimType_CARD8:
+ ret_len = sizeof(CARD8);
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ *((CARD8 *)buf) = (CARD8)(long)value;
+ *len = ret_len;
+ break;
+
+ case XimType_CARD16:
+ ret_len = sizeof(CARD16);
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ *((CARD16 *)buf) = (CARD16)(long)value;
+ *len = ret_len;
+ break;
+
+ case XimType_CARD32:
+ case XimType_Window:
+ case XimType_XIMHotKeyState:
+ ret_len = sizeof(CARD32);
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ *((CARD32 *)buf) = (CARD32)(long)value;
+ *len = ret_len;
+ break;
+
+ case XimType_STRING8:
+ if (!value) {
+ *len = 0;
+ return False;
+ }
+
+ ret_len = strlen((char *)value);
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ (void)memcpy((char *)buf, (char *)value, ret_len);
+ *len = ret_len;
+ break;
+
+ case XimType_XRectangle:
+ {
+ XRectangle *rect = (XRectangle *)value;
+ CARD16 *buf_s = (CARD16 *)buf;
+
+ if (!rect) {
+ *len = 0;
+ return False;
+ }
+
+ ret_len = sizeof(INT16) /* sizeof X */
+ + sizeof(INT16) /* sizeof Y */
+ + sizeof(CARD16) /* sizeof width */
+ + sizeof(CARD16); /* sizeof height */
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ buf_s[0] = (CARD16)rect->x; /* X */
+ buf_s[1] = (CARD16)rect->y; /* Y */
+ buf_s[2] = (CARD16)rect->width; /* width */
+ buf_s[3] = (CARD16)rect->height; /* heght */
+ *len = ret_len;
+ break;
+ }
+
+ case XimType_XPoint:
+ {
+ XPoint *point = (XPoint *)value;
+ CARD16 *buf_s = (CARD16 *)buf;
+
+ if (!point) {
+ *len = 0;
+ return False;
+ }
+
+ ret_len = sizeof(INT16) /* sizeof X */
+ + sizeof(INT16); /* sizeof Y */
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ buf_s[0] = (CARD16)point->x; /* X */
+ buf_s[1] = (CARD16)point->y; /* Y */
+ *len = ret_len;
+ break;
+ }
+
+ case XimType_XFontSet:
+ {
+ XFontSet font = (XFontSet)value;
+ Xic ic = (Xic)param;
+ char *base_name = NULL;
+ int length = 0;
+ CARD16 *buf_s = (CARD16 *)buf;
+
+ if (!font) {
+ *len = 0;
+ return False;
+ }
+
+ if (mode & XIM_PREEDIT_ATTR) {
+ base_name = ic->private.proto.preedit_font;
+ length = ic->private.proto.preedit_font_length;
+ } else if (mode & XIM_STATUS_ATTR) {
+ base_name = ic->private.proto.status_font;
+ length = ic->private.proto.status_font_length;
+ }
+
+ if (!base_name) {
+ *len = 0;
+ return False;
+ }
+
+ ret_len = sizeof(CARD16) /* sizeof length of Base name */
+ + length; /* sizeof Base font name list */
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ buf_s[0] = (INT16)length; /* length of Base font name */
+ (void)memcpy((char *)&buf_s[1], base_name, length);
+ /* Base font name list */
+ *len = ret_len;
+ break;
+ }
+
+ case XimType_XIMHotKeyTriggers:
+ {
+ XIMHotKeyTriggers *hotkey = (XIMHotKeyTriggers *)value;
+ INT32 num;
+ CARD32 *buf_l = (CARD32 *)buf;
+ register CARD32 *key = (CARD32 *)&buf_l[1];
+ register int i;
+
+ if (!hotkey) {
+ *len = 0;
+ return False;
+ }
+ num = (INT32)hotkey->num_hot_key;
+
+ ret_len = sizeof(INT32) /* sizeof number of key list */
+ + (sizeof(CARD32) /* sizeof keysyn */
+ + sizeof(CARD32) /* sizeof modifier */
+ + sizeof(CARD32)) /* sizeof modifier_mask */
+ * num; /* number of key list */
+ if (buf_size < ret_len + XIM_PAD(ret_len)) {
+ *len = -1;
+ return False;
+ }
+
+ buf_l[0] = num; /* number of key list */
+ for (i = 0; i < num; i++, key += 3) {
+ key[0] = (CARD32)(hotkey->key[i].keysym);
+ /* keysym */
+ key[1] = (CARD32)(hotkey->key[i].modifier);
+ /* modifier */
+ key[2] = (CARD32)(hotkey->key[i].modifier_mask);
+ /* modifier_mask */
+ }
+ *len = ret_len;
+ break;
+ }
+
+ case XimType_XIMStringConversion:
+ {
+ *len = 0;
+ break;
+ }
+
+ default:
+ return False;
+ }
+ return True;
+}
+
+Private Bool
+_XimSetInnerIMAttributes(
+ Xim im,
+ XPointer top,
+ XIMArg *arg,
+ unsigned long mode)
+{
+ XIMResourceList res;
+ int check;
+
+ if (!(res = _XimGetResourceListRec(im->private.proto.im_inner_resources,
+ im->private.proto.im_num_inner_resources, arg->name)))
+ return False;
+
+ check = _XimCheckIMMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ return True;
+ else if(check == XIM_CHECK_ERROR)
+ return False;
+
+ return _XimEncodeLocalIMAttr(res, top, arg->value);
+}
+
+Public char *
+_XimEncodeIMATTRIBUTE(
+ Xim im,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ XIMArg *arg,
+ XIMArg **arg_ret,
+ char *buf,
+ int size,
+ int *ret_len,
+ XPointer top,
+ unsigned long mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+ CARD16 *buf_s;
+ int len;
+ int min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(INT16); /* sizeof value length */
+
+ *ret_len = 0;
+ for (p = arg; p->name; p++) {
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimSetInnerIMAttributes(im, top, p, mode))
+ continue;
+ return p->name;
+ }
+
+ check = _XimCheckIMMode(res, mode);
+ if (check == XIM_CHECK_INVALID)
+ continue;
+ else if (check == XIM_CHECK_ERROR)
+ return p->name;
+
+ if (!(_XimEncodeLocalIMAttr(res, top, p->value)))
+ return p->name;
+
+ buf_s = (CARD16 *)buf;
+ if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2], (size - min_len),
+ p->value, &len, mode, (XPointer)NULL)))
+ return p->name;
+
+ if (len == 0) {
+ continue;
+ } else if (len < 0) {
+ *arg_ret = p;
+ return (char *)NULL;
+ }
+
+ buf_s[0] = res->id; /* attribute ID */
+ buf_s[1] = len; /* value length */
+ XIM_SET_PAD(&buf_s[2], len); /* pad */
+ len += min_len;
+
+ buf += len;
+ *ret_len += len;
+ size -= len;
+ }
+ *arg_ret = (XIMArg *)NULL;
+ return (char *)NULL;
+}
+
+#ifdef XIM_CONNECTABLE
+Public Bool
+_XimEncodeSavedIMATTRIBUTE(
+ Xim im,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ int *idx,
+ char *buf,
+ int size,
+ int *ret_len,
+ XPointer top,
+ unsigned long mode)
+{
+ register int i;
+ int num = im->private.proto.num_saved_imvalues;
+ XrmQuark *quark_list = im->private.proto.saved_imvalues;
+ XIMResourceList res;
+ XPointer value;
+ CARD16 *buf_s;
+ int len;
+ int min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(INT16); /* sizeof value length */
+
+ if (!im->private.proto.saved_imvalues) {
+ *idx = -1;
+ *ret_len = 0;
+ return True;
+ }
+
+ *ret_len = 0;
+ for (i = *idx; i < num; i++) {
+ if (!(res = _XimGetResourceListRecByQuark(res_list,
+ res_num, quark_list[i])))
+ continue;
+
+ if (!_XimDecodeLocalIMAttr(res, top, value))
+ return False;
+
+ buf_s = (CARD16 *)buf;
+ if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
+ (size - min_len), value, &len, mode, (XPointer)NULL)))
+ return False;
+
+ if (len == 0) {
+ continue;
+ } else if (len < 0) {
+ *idx = i;
+ return True;
+ }
+
+ buf_s[0] = res->id; /* attribute ID */
+ buf_s[1] = len; /* value length */
+ XIM_SET_PAD(&buf_s[2], len); /* pad */
+ len += min_len;
+
+ buf += len;
+ *ret_len += len;
+ size -= len;
+ }
+ *idx = -1;
+ return True;
+}
+#endif /* XIM_CONNECTABLE */
+
+Private Bool
+_XimEncodeTopValue(
+ Xic ic,
+ XIMResourceList res,
+ XIMArg *p)
+{
+ if (res->xrm_name == XrmStringToQuark(XNClientWindow)) {
+ ic->core.client_window = (Window)p->value;
+ if (ic->core.focus_window == (Window)0)
+ ic->core.focus_window = ic->core.client_window;
+ _XimRegisterFilter(ic);
+
+ } else if (res->xrm_name == XrmStringToQuark(XNFocusWindow)) {
+ if (ic->core.client_window) {
+ _XimUnregisterFilter(ic);
+ ic->core.focus_window = (Window)p->value;
+ _XimRegisterFilter(ic);
+ } else /* client_window not yet */
+ ic->core.focus_window = (Window)p->value;
+ }
+ return True;
+}
+
+Private Bool
+_XimEncodePreeditValue(
+ Xic ic,
+ XIMResourceList res,
+ XIMArg *p)
+{
+ if (res->xrm_name == XrmStringToQuark(XNStdColormap)) {
+ XStandardColormap *colormap_ret;
+ int count;
+
+ if (!(XGetRGBColormaps(ic->core.im->core.display,
+ ic->core.focus_window, &colormap_ret,
+ &count, (Atom)p->value)))
+ return False;
+
+ XFree(colormap_ret);
+ } else if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
+ int list_ret;
+ XFontStruct **struct_list;
+ char **name_list;
+ char *tmp;
+ int len;
+ register int i;
+
+ if (!p->value)
+ return False;
+
+ if (ic->private.proto.preedit_font)
+ Xfree(ic->private.proto.preedit_font);
+
+ list_ret = XFontsOfFontSet((XFontSet)p->value,
+ &struct_list, &name_list);
+ for (i = 0, len = 0; i < list_ret; i++) {
+ len += (strlen(name_list[i]) + sizeof(char));
+ }
+ if (!(tmp = Xmalloc(len + 1))) {
+ ic->private.proto.preedit_font = NULL;
+ return False;
+ }
+
+ tmp[0] = '\0';
+ for (i = 0; i < list_ret; i++) {
+ strcat(tmp, name_list[i]);
+ strcat(tmp, ",");
+ }
+ tmp[len - 1] = 0;
+ ic->private.proto.preedit_font = tmp;
+ ic->private.proto.preedit_font_length = len - 1;
+ }
+ return True;
+}
+
+Private Bool
+_XimEncodeStatusValue(
+ Xic ic,
+ XIMResourceList res,
+ XIMArg *p)
+{
+ if (res->xrm_name == XrmStringToQuark(XNStdColormap)) {
+ XStandardColormap *colormap_ret = NULL;
+ int count;
+
+ if (!(XGetRGBColormaps(ic->core.im->core.display,
+ ic->core.focus_window, &colormap_ret,
+ &count, (Atom)p->value)))
+ return False;
+
+ XFree(colormap_ret);
+ } else if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
+ int list_ret;
+ XFontStruct **struct_list;
+ char **name_list;
+ char *tmp;
+ int len;
+ register int i;
+
+ if (!p->value)
+ return False;
+
+ if (ic->private.proto.status_font)
+ Xfree(ic->private.proto.status_font);
+
+ list_ret = XFontsOfFontSet((XFontSet)p->value,
+ &struct_list, &name_list);
+ for (i = 0, len = 0; i < list_ret; i++) {
+ len += (strlen(name_list[i]) + sizeof(char));
+ }
+ if (!(tmp = Xmalloc(len+1))) {
+ ic->private.proto.status_font = NULL;
+ return False;
+ }
+
+ tmp[0] = '\0';
+ for(i = 0; i < list_ret; i++) {
+ strcat(tmp, name_list[i]);
+ strcat(tmp, ",");
+ }
+ tmp[len - 1] = 0;
+ ic->private.proto.status_font = tmp;
+ ic->private.proto.status_font_length = len - 1;
+ }
+ return True;
+}
+
+Private Bool
+_XimSetInnerICAttributes(
+ Xic ic,
+ XPointer top,
+ XIMArg *arg,
+ unsigned long mode)
+{
+ XIMResourceList res;
+ int check;
+
+ if (!(res = _XimGetResourceListRec(ic->private.proto.ic_inner_resources,
+ ic->private.proto.ic_num_inner_resources, arg->name)))
+ return False;
+
+ check = _XimCheckICMode(res, mode);
+ if(check == XIM_CHECK_INVALID)
+ return True;
+ else if(check == XIM_CHECK_ERROR)
+ return False;
+
+ return _XimEncodeLocalICAttr(ic, res, top, arg, mode);
+}
+
+Public char *
+_XimEncodeICATTRIBUTE(
+ Xic ic,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ XIMArg *arg,
+ XIMArg **arg_ret,
+ char *buf,
+ int size,
+ int *ret_len,
+ XPointer top,
+ BITMASK32 *flag,
+ unsigned long mode)
+{
+ register XIMArg *p;
+ XIMResourceList res;
+ int check;
+ CARD16 *buf_s;
+ int len;
+ int min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(INT16); /* sizeof value length */
+ XrmQuark pre_quark;
+ XrmQuark sts_quark;
+ char *name;
+
+ pre_quark = XrmStringToQuark(XNPreeditAttributes);
+ sts_quark = XrmStringToQuark(XNStatusAttributes);
+
+ *ret_len = 0;
+ for (p = arg; p && p->name; p++) {
+ buf_s = (CARD16 *)buf;
+ if (!(res = _XimGetResourceListRec(res_list, res_num, p->name))) {
+ if (_XimSetInnerICAttributes(ic, top, p, mode))
+ continue;
+ return p->name;
+ }
+
+ check = _XimCheckICMode(res, mode);
+ if (check == XIM_CHECK_INVALID)
+ continue;
+ else if (check == XIM_CHECK_ERROR)
+ return p->name;
+
+ if (mode & XIM_PREEDIT_ATTR) {
+ if (!(_XimEncodePreeditValue(ic, res, p)))
+ return p->name;
+ } else if (mode & XIM_STATUS_ATTR) {
+ if (!(_XimEncodeStatusValue(ic, res, p)))
+ return p->name;
+ } else {
+ if (!(_XimEncodeTopValue(ic, res, p)))
+ return p->name;
+ }
+
+ if (res->resource_size == XimType_NEST) {
+ XimDefICValues *ic_attr = (XimDefICValues *)top;
+
+ if (res->xrm_name == pre_quark) {
+ XIMArg *arg_rt;
+ if ((name = _XimEncodeICATTRIBUTE(ic, res_list, res_num,
+ (XIMArg *)p->value, &arg_rt,
+ (char *)&buf_s[2], (size - min_len),
+ &len, (XPointer)&ic_attr->preedit_attr, flag,
+ (mode | XIM_PREEDIT_ATTR)))) {
+ return name;
+ }
+
+ } else if (res->xrm_name == sts_quark) {
+ XIMArg *arg_rt;
+ if ((name = _XimEncodeICATTRIBUTE(ic, res_list, res_num,
+ (XIMArg *)p->value, &arg_rt,
+ (char *)&buf_s[2], (size - min_len),
+ &len, (XPointer)&ic_attr->status_attr, flag,
+ (mode | XIM_STATUS_ATTR)))) {
+ return name;
+ }
+ }
+ } else {
+#ifdef EXT_MOVE
+ if (flag)
+ *flag |= _XimExtenArgCheck(p);
+#endif
+ if (!(_XimEncodeLocalICAttr(ic, res, top, p, mode)))
+ return p->name;
+
+ if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
+ (size - min_len), p->value,
+ &len, mode, (XPointer)ic)))
+ return p->name;
+ }
+
+ if (len == 0) {
+ continue;
+ } else if (len < 0) {
+ *arg_ret = p;
+ return (char *)NULL;
+ }
+
+ buf_s[0] = res->id; /* attribute ID */
+ buf_s[1] = len; /* value length */
+ XIM_SET_PAD(&buf_s[2], len); /* pad */
+ len += min_len;
+
+ buf += len;
+ *ret_len += len;
+ size -= len;
+ }
+ *arg_ret = (XIMArg *)NULL;
+ return (char *)NULL;
+}
+
+#ifdef XIM_CONNECTABLE
+Private Bool
+_XimEncodeSavedPreeditValue(
+ Xic ic,
+ XIMResourceList res,
+ XPointer value)
+{
+ int list_ret;
+ XFontStruct **struct_list;
+ char **name_list;
+ char *tmp;
+ int len;
+ register int i;
+
+ if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
+ if (!value)
+ return False;
+
+ if (ic->private.proto.preedit_font)
+ Xfree(ic->private.proto.preedit_font);
+
+ list_ret = XFontsOfFontSet((XFontSet)value,
+ &struct_list, &name_list);
+ for(i = 0, len = 0; i < list_ret; i++) {
+ len += (strlen(name_list[i]) + sizeof(char));
+ }
+ if(!(tmp = Xmalloc(len + 1))) {
+ ic->private.proto.preedit_font = NULL;
+ return False;
+ }
+
+ tmp[0] = '\0';
+ for(i = 0; i < list_ret; i++) {
+ strcat(tmp, name_list[i]);
+ strcat(tmp, ",");
+ }
+ tmp[len - 1] = 0;
+ ic->private.proto.preedit_font = tmp;
+ ic->private.proto.preedit_font_length = len - 1;
+ }
+ return True;
+}
+
+Private Bool
+_XimEncodeSavedStatusValue(
+ Xic ic,
+ XIMResourceList res,
+ XPointer value)
+{
+ int list_ret;
+ XFontStruct **struct_list;
+ char **name_list;
+ char *tmp;
+ int len;
+ register int i;
+
+ if (res->xrm_name == XrmStringToQuark(XNFontSet)) {
+ if (!value)
+ return False;
+
+ if (ic->private.proto.status_font)
+ Xfree(ic->private.proto.status_font);
+
+ list_ret = XFontsOfFontSet((XFontSet)value,
+ &struct_list, &name_list);
+ for(i = 0, len = 0; i < list_ret; i++) {
+ len += (strlen(name_list[i]) + sizeof(char));
+ }
+ if(!(tmp = Xmalloc(len + 1))) {
+ ic->private.proto.status_font = NULL;
+ return False;
+ }
+
+ tmp[0] = '\0';
+ for(i = 0; i < list_ret; i++) {
+ strcat(tmp, name_list[i]);
+ strcat(tmp, ",");
+ }
+ tmp[len - 1] = 0;
+ ic->private.proto.status_font = tmp;
+ ic->private.proto.status_font_length = len - 1;
+ }
+ return True;
+}
+
+Public Bool
+_XimEncodeSavedICATTRIBUTE(
+ Xic ic,
+ XIMResourceList res_list,
+ unsigned int res_num,
+ int *idx,
+ char *buf,
+ int size,
+ int *ret_len,
+ XPointer top,
+ unsigned long mode)
+{
+ int i;
+ int num = ic->private.proto.num_saved_icvalues;
+ XrmQuark *quark_list = ic->private.proto.saved_icvalues;
+ XIMResourceList res;
+ XPointer value;
+ CARD16 *buf_s;
+ int len;
+ int min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(INT16); /* sizeof value length */
+ XrmQuark pre_quark;
+ XrmQuark sts_quark;
+ XrmQuark separator;
+
+ if (!ic->private.proto.saved_icvalues) {
+ *idx = -1;
+ *ret_len = 0;
+ return True;
+ }
+
+ pre_quark = XrmStringToQuark(XNPreeditAttributes);
+ sts_quark = XrmStringToQuark(XNStatusAttributes);
+ separator = XrmStringToQuark(XNSeparatorofNestedList);
+
+ *ret_len = 0;
+ for (i = *idx; i < num; i++) {
+ if (quark_list[i] == separator) {
+ *idx = i;
+ return True;
+ }
+
+ if (!(res = _XimGetResourceListRecByQuark(res_list,
+ res_num, quark_list[i])))
+ continue;
+
+ if (!_XimDecodeLocalICAttr(res, top,(XPointer)&value, mode))
+ return False;
+
+ if (mode & XIM_PREEDIT_ATTR) {
+ if (!(_XimEncodeSavedPreeditValue(ic, res, value))) {
+ return False;
+ }
+ } else if (mode & XIM_STATUS_ATTR) {
+ if (!(_XimEncodeSavedStatusValue(ic, res, value))) {
+ return False;
+ }
+ }
+
+ buf_s = (CARD16 *)buf;
+ if (res->resource_size == XimType_NEST) {
+ XimDefICValues *ic_attr = (XimDefICValues *)top;
+
+ i++;
+ if (res->xrm_name == pre_quark) {
+ if (!_XimEncodeSavedICATTRIBUTE(ic, res_list, res_num,
+ &i, (char *)&buf_s[2], (size - min_len),
+ &len, (XPointer)&ic_attr->preedit_attr,
+ (mode | XIM_PREEDIT_ATTR))) {
+ return False;
+ }
+
+ } else if (res->xrm_name == sts_quark) {
+ if (!_XimEncodeSavedICATTRIBUTE(ic, res_list, res_num,
+ &i, (char *)&buf_s[2], (size - min_len),
+ &len, (XPointer)&ic_attr->status_attr,
+ (mode | XIM_STATUS_ATTR))) {
+ return False;
+ }
+ }
+ } else {
+ if (!(_XimValueToAttribute(res, (XPointer)&buf_s[2],
+ (size - min_len), value,
+ &len, mode, (XPointer)ic))) {
+ return False;
+ }
+ }
+
+ if (len == 0) {
+ continue;
+ } else if (len < 0) {
+ if (quark_list[i] == separator)
+ i++;
+ *idx = i;
+ return True;
+ }
+
+ buf_s[0] = res->id; /* attribute ID */
+ buf_s[1] = len; /* value length */
+ XIM_SET_PAD(&buf_s[2], len); /* pad */
+ len += min_len;
+
+ buf += len;
+ *ret_len += len;
+ size -= len;
+ }
+ *idx = -1;
+ return True;
+}
+#endif /* XIM_CONNECTABLE */
+
+Private unsigned int
+_XimCountNumberOfAttr(
+ INT16 total,
+ CARD16 *attr,
+ int *names_len)
+{
+ unsigned int n;
+ INT16 len;
+ INT16 min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(CARD16) /* sizeof type of value */
+ + sizeof(INT16); /* sizeof length of attribute */
+
+ n = 0;
+ *names_len = 0;
+ while (total > min_len) {
+ len = attr[2];
+ *names_len += (len + 1);
+ len += (min_len + XIM_PAD(len + 2));
+ total -= len;
+ attr = (CARD16 *)((char *)attr + len);
+ n++;
+ }
+ return n;
+}
+
+Public Bool
+_XimGetAttributeID(
+ Xim im,
+ CARD16 *buf)
+{
+ unsigned int n;
+ XIMResourceList res;
+ int res_len;
+ char *names;
+ int names_len;
+ XPointer tmp;
+ XIMValuesList *values_list;
+ char **values;
+ int values_len;
+ register int i;
+ INT16 len;
+ INT16 min_len = sizeof(CARD16) /* sizeof attribute ID */
+ + sizeof(CARD16) /* sizeof type of value */
+ + sizeof(INT16); /* sizeof length of attr */
+ /*
+ * IM attribute ID
+ */
+
+ if (!(n = _XimCountNumberOfAttr(buf[0], &buf[1], &names_len)))
+ return False;
+ res_len = sizeof(XIMResource) * n;
+
+ if (!(res = (XIMResourceList)Xmalloc(res_len)))
+ return False;
+ bzero((char *)res, res_len);
+
+ values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
+ if (!(tmp = (XPointer)Xmalloc(values_len)))
+ return False;
+ bzero(tmp, values_len);
+
+ values_list = (XIMValuesList *)tmp;
+ values = (char **)((char *)tmp + sizeof(XIMValuesList));
+ names = (char *)((char *)values + (sizeof(char **) * n));
+
+ values_list->count_values = n;
+ values_list->supported_values = values;
+
+ buf++;
+ for (i = 0; i < n; i++) {
+ len = buf[2];
+ (void)memcpy(names, (char *)&buf[3], len);
+ values[i] = names;
+ names[len] = '\0';
+ res[i].resource_name = names;
+ res[i].resource_size = buf[1];
+ res[i].id = buf[0];
+ names += (len + 1);
+ len += (min_len + XIM_PAD(len + 2));
+ buf = (CARD16 *)((char *)buf + len);
+ }
+ _XIMCompileResourceList(res, n);
+
+ if (im->core.im_resources)
+ Xfree(im->core.im_resources);
+ if (im->core.im_values_list)
+ Xfree(im->core.im_values_list);
+ im->core.im_resources = res;
+ im->core.im_num_resources = n;
+ im->core.im_values_list = values_list;
+
+ /*
+ * IC attribute ID
+ */
+
+ if (!(n = _XimCountNumberOfAttr(buf[0], &buf[2], &names_len)))
+ return False;
+ res_len = sizeof(XIMResource) * n;
+
+ if (!(res = (XIMResourceList)Xmalloc(res_len)))
+ return False;
+ bzero((char *)res, res_len);
+
+ values_len = sizeof(XIMValuesList) + (sizeof(char **) * n) + names_len;
+ if (!(tmp = (XPointer)Xmalloc(values_len)))
+ return False;
+ bzero(tmp, values_len);
+
+ values_list = (XIMValuesList *)tmp;
+ values = (char **)((char *)tmp + sizeof(XIMValuesList));
+ names = (char *)((char *)values + (sizeof(char **) * n));
+
+ values_list->count_values = n;
+ values_list->supported_values = values;
+
+ buf += 2;
+ for (i = 0; i < n; i++) {
+ len = buf[2];
+ (void)memcpy(names, (char *)&buf[3], len);
+ values[i] = names;
+ names[len] = '\0';
+ res[i].resource_name = names;
+ res[i].resource_size = buf[1];
+ res[i].id = buf[0];
+ names += (len + 1);
+ len += (min_len + XIM_PAD(len + 2));
+ buf = (CARD16 *)((char *)buf + len);
+ }
+ _XIMCompileResourceList(res, n);
+
+ if (im->core.ic_resources)
+ Xfree(im->core.ic_resources);
+ if (im->core.ic_values_list)
+ Xfree(im->core.ic_values_list);
+ im->core.ic_resources = res;
+ im->core.ic_num_resources = n;
+ im->core.ic_values_list = values_list;
+
+ return True;
+}
diff --git a/libX11/specs/XIM/Makefile.am b/libX11/specs/XIM/Makefile.am
index 838ec1e8d..a7da39b6f 100644
--- a/libX11/specs/XIM/Makefile.am
+++ b/libX11/specs/XIM/Makefile.am
@@ -1,6 +1,5 @@
if ENABLE_SPECS
-if HAVE_XMLTO
# Main DocBook/XML files (DOCTYPE book)
docbook = xim.xml
@@ -21,5 +20,4 @@ shelfdir = $(docdir)/XIM
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
-endif HAVE_XMLTO
endif ENABLE_SPECS
diff --git a/libX11/specs/i18n/framework/Makefile.am b/libX11/specs/i18n/framework/Makefile.am
index eb2f0db97..38db989db 100644
--- a/libX11/specs/i18n/framework/Makefile.am
+++ b/libX11/specs/i18n/framework/Makefile.am
@@ -1,6 +1,5 @@
if ENABLE_SPECS
-if HAVE_XMLTO
# Main DocBook/XML files (DOCTYPE book)
docbook = framework.xml
@@ -9,10 +8,9 @@ docbook = framework.xml
chapters = framework.svg
# The location where the DocBook/XML files and their generated formats are installed
-shelfdir = $(docdir)/framework
+shelfdir = $(docdir)/i18n/framework
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
-endif HAVE_XMLTO
endif ENABLE_SPECS
diff --git a/libX11/specs/i18n/localedb/Makefile.am b/libX11/specs/i18n/localedb/Makefile.am
index 71014222d..e7ae3523f 100644
--- a/libX11/specs/i18n/localedb/Makefile.am
+++ b/libX11/specs/i18n/localedb/Makefile.am
@@ -1,15 +1,13 @@
if ENABLE_SPECS
-if HAVE_XMLTO
# Main DocBook/XML files (DOCTYPE book)
docbook = localedb.xml
# The location where the DocBook/XML files and their generated formats are installed
-shelfdir = $(docdir)/localedb
+shelfdir = $(docdir)/i18n/localedb
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
-endif HAVE_XMLTO
endif ENABLE_SPECS
diff --git a/libX11/specs/i18n/trans/Makefile.am b/libX11/specs/i18n/trans/Makefile.am
index e962980b8..e3c499744 100644
--- a/libX11/specs/i18n/trans/Makefile.am
+++ b/libX11/specs/i18n/trans/Makefile.am
@@ -1,15 +1,13 @@
if ENABLE_SPECS
-if HAVE_XMLTO
# Main DocBook/XML files (DOCTYPE book)
docbook = trans.xml
# The location where the DocBook/XML files and their generated formats are installed
-shelfdir = $(docdir)/trans
+shelfdir = $(docdir)/i18n/trans
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
-endif HAVE_XMLTO
endif ENABLE_SPECS
diff --git a/libX11/specs/libX11/Makefile.am b/libX11/specs/libX11/Makefile.am
index 3d7049a38..f91320c09 100644
--- a/libX11/specs/libX11/Makefile.am
+++ b/libX11/specs/libX11/Makefile.am
@@ -1,6 +1,5 @@
if ENABLE_SPECS
-if HAVE_XMLTO
# Main DocBook/XML files (DOCTYPE book)
docbook = libX11.xml
@@ -31,10 +30,9 @@ chapters = \
glossary.xml
# The location where the DocBook/XML files and their generated formats are installed
-shelfdir = $(docdir)
+shelfdir = $(docdir)/libX11
# Generate DocBook/XML output formats with or without stylesheets
include $(top_srcdir)/docbook.am
-endif HAVE_XMLTO
endif ENABLE_SPECS
diff --git a/libxcb/src/xcb.h b/libxcb/src/xcb.h
index b1bab44da..cfe311ecf 100644
--- a/libxcb/src/xcb.h
+++ b/libxcb/src/xcb.h
@@ -272,39 +272,20 @@ xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t *c);
xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c);
/**
- * @brief Returns the next event or error that precedes the given request.
+ * @brief Returns the next event without reading from the connection.
* @param c: The connection to the X server.
- * @param request: The limiting sequence number.
- * @return The next event from the server.
+ * @return The next already queued event from the server.
+ *
+ * This is a version of xcb_poll_for_event that only examines the
+ * event queue for new events. The function doesn't try to read new
+ * events from the connection if no queued events are found.
*
- * Returns the next event or error with a sequence number less than or
- * equal to the given sequence number, or returns NULL if no such event can
- * ever arrive. Blocks until either a suitable event or error arrive, or a
- * response arrives that proves no such event is coming, or an I/O error
- * occurs.
- *
- * After processing a request, the X server sends responses in a specific
- * order. First come any events that the request generated, then any
- * replies for the request, then the error response if there is one. After
- * that, the server may spontaneously send more events with the same
- * sequence number, which are not related to that request.
- *
- * This function will always return events from the pre-reply phase of the
- * specified request. It may also return events from the unrelated
- * post-reply stream, as long as they have the same sequence number.
- *
- * This function is useful for callers that need to process responses in
- * wire-order.
- *
- * Implementation note: You cannot currently use this function to ensure
- * that you process responses in exactly wire-order, because depending on
- * the sequence of calls you make and the timing of server responses,
- * post-reply events with the same sequence number may be returned as part
- * of the pre-reply event stream, even though they were separated by a
- * reply or error. In practice this kind of error is unlikely to matter,
- * but it may be fixed in the future.
- */
-xcb_generic_event_t *xcb_wait_for_event_until(xcb_connection_t *c, unsigned int request);
+ * This function is useful for callers that know in advance that all
+ * interesting events have already been read from the connection. For
+ * example, callers might use xcb_wait_for_reply and be interested
+ * only of events that preceded a specific reply.
+ */
+xcb_generic_event_t *xcb_poll_for_queued_event(xcb_connection_t *c);
/**
* @brief Return the error for a request, or NULL if none can ever arrive.
diff --git a/libxcb/src/xcb_in.c b/libxcb/src/xcb_in.c
index 0a957a4b2..e0e7a7cac 100644
--- a/libxcb/src/xcb_in.c
+++ b/libxcb/src/xcb_in.c
@@ -63,7 +63,6 @@
#endif
struct event_list {
- uint64_t sequence;
xcb_generic_event_t *event;
struct event_list *next;
};
@@ -132,7 +131,7 @@ static int read_packet(xcb_connection_t *c)
c->in.current_reply = 0;
c->in.current_reply_tail = &c->in.current_reply;
}
- c->in.request_completed = c->in.event_responses_completed = c->in.request_read - 1;
+ c->in.request_completed = c->in.request_read - 1;
}
while(c->in.pending_replies &&
@@ -147,12 +146,9 @@ static int read_packet(xcb_connection_t *c)
}
if(genrep.response_type == XCB_ERROR)
- c->in.request_completed = c->in.event_responses_completed = c->in.request_read;
- else if(genrep.response_type == XCB_REPLY)
- c->in.event_responses_completed = c->in.request_read;
+ c->in.request_completed = c->in.request_read;
remove_finished_readers(&c->in.readers, c->in.request_completed);
- remove_finished_readers(&c->in.event_readers, c->in.event_responses_completed);
}
if(genrep.response_type == XCB_ERROR || genrep.response_type == XCB_REPLY)
@@ -177,7 +173,7 @@ static int read_packet(xcb_connection_t *c)
}
/* XGE events may have sizes > 32 */
- if (genrep.response_type == XCB_XGE_EVENT)
+ if ((genrep.response_type & 0x7f) == XCB_XGE_EVENT)
eventlength = genrep.length * 4;
buf = malloc(length + eventlength +
@@ -241,15 +237,11 @@ static int read_packet(xcb_connection_t *c)
free(buf);
return 0;
}
- event->sequence = c->in.request_read;
event->event = buf;
event->next = 0;
*c->in.events_tail = event;
c->in.events_tail = &event->next;
- if(c->in.event_readers)
- pthread_cond_signal(c->in.event_readers->data);
- else
- pthread_cond_signal(&c->in.event_cond);
+ pthread_cond_signal(&c->in.event_cond);
return 1; /* I have something for you... */
}
@@ -541,7 +533,7 @@ xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t *c)
return ret;
}
-xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c)
+static xcb_generic_event_t *poll_for_next_event(xcb_connection_t *c, int queued)
{
xcb_generic_event_t *ret = 0;
if(!c->has_error)
@@ -549,40 +541,21 @@ xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c)
pthread_mutex_lock(&c->iolock);
/* FIXME: follow X meets Z architecture changes. */
ret = get_event(c);
- if(!ret && _xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
+ if(!ret && !queued && _xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
ret = get_event(c);
pthread_mutex_unlock(&c->iolock);
}
return ret;
}
-static xcb_generic_event_t *get_event_until(xcb_connection_t *c, uint64_t request)
+xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c)
{
- if(c->in.events && XCB_SEQUENCE_COMPARE(c->in.events->sequence, <=, request))
- return get_event(c);
- return 0;
+ return poll_for_next_event(c, 0);
}
-xcb_generic_event_t *xcb_wait_for_event_until(xcb_connection_t *c, unsigned int request)
+xcb_generic_event_t *xcb_poll_for_queued_event(xcb_connection_t *c)
{
- pthread_cond_t cond = PTHREAD_COND_INITIALIZER;
- reader_list reader;
- xcb_generic_event_t *ret;
- if(c->has_error)
- return 0;
- pthread_mutex_lock(&c->iolock);
-
- insert_reader(&c->in.event_readers, &reader, widen(c, request), &cond);
-
- while(!(ret = get_event_until(c, reader.request)) && XCB_SEQUENCE_COMPARE(c->in.event_responses_completed, <, reader.request))
- if(!_xcb_conn_wait(c, &cond, 0, 0))
- break;
-
- remove_reader(&c->in.event_readers, &reader);
- pthread_cond_destroy(&cond);
- _xcb_in_wake_up_next_reader(c);
- pthread_mutex_unlock(&c->iolock);
- return ret;
+ return poll_for_next_event(c, 1);
}
xcb_generic_error_t *xcb_request_check(xcb_connection_t *c, xcb_void_cookie_t cookie)
@@ -655,8 +628,6 @@ void _xcb_in_wake_up_next_reader(xcb_connection_t *c)
int pthreadret;
if(c->in.readers)
pthreadret = pthread_cond_signal(c->in.readers->data);
- else if(c->in.event_readers)
- pthreadret = pthread_cond_signal(c->in.event_readers->data);
else
pthreadret = pthread_cond_signal(&c->in.event_cond);
assert(pthreadret == 0);
diff --git a/libxcb/src/xcb_util.c b/libxcb/src/xcb_util.c
index e1e48ce0d..b999ea528 100644
--- a/libxcb/src/xcb_util.c
+++ b/libxcb/src/xcb_util.c
@@ -178,22 +178,20 @@ static int _xcb_open(const char *host, char *protocol, const int display)
int actual_filelen;
#ifdef HAVE_LAUNCHD
- if(strncmp(host, "/tmp/launch", 11) == 0) {
- base = host;
- host = "";
- protocol = NULL;
- }
+ if(strncmp(host, "/tmp/launch", 11) == 0) {
+ base = host;
+ host = "";
+ protocol = NULL;
+ }
#endif
- if(*host || protocol)
+ /* If protocol or host is "unix", fall through to Unix socket code below */
+ if ((!protocol || (strcmp("unix",protocol) != 0)) &&
+ (*host != '\0') && (strcmp("unix",host) != 0))
{
- if (protocol
- || strcmp("unix",host)) { /* follow the old unix: rule */
-
- /* display specifies TCP */
- unsigned short port = X_TCP_PORT + display;
- return _xcb_open_tcp(host, protocol, port);
- }
+ /* display specifies TCP */
+ unsigned short port = X_TCP_PORT + display;
+ return _xcb_open_tcp(host, protocol, port);
}
#ifndef _WIN32
diff --git a/libxcb/src/xcbint.h b/libxcb/src/xcbint.h
index d1f742104..5950823f0 100644
--- a/libxcb/src/xcbint.h
+++ b/libxcb/src/xcbint.h
@@ -121,7 +121,6 @@ typedef struct _xcb_in {
uint64_t request_expected;
uint64_t request_read;
- uint64_t event_responses_completed;
uint64_t request_completed;
struct reply_list *current_reply;
struct reply_list **current_reply_tail;
@@ -130,7 +129,6 @@ typedef struct _xcb_in {
struct event_list *events;
struct event_list **events_tail;
struct reader_list *readers;
- struct reader_list *event_readers;
struct pending_reply *pending_replies;
struct pending_reply **pending_replies_tail;
diff --git a/xorg-server/xkeyboard-config/rules/base.extras.xml.in b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
index 188855ab4..f845488e0 100644
--- a/xorg-server/xkeyboard-config/rules/base.extras.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.extras.xml.in
@@ -23,7 +23,7 @@
<variant>
<configItem>
<name>ave</name>
- <_description>Iran - Avestan</_description>
+ <_description>Avestan</_description>
<languageList><iso639Id>ave</iso639Id></languageList>
</configItem>
</variant>
@@ -33,14 +33,74 @@
<configItem>
<name>lt</name>
<_shortDescription>Ltu</_shortDescription>
- <_description>Lithuania</_description>
+ <_description>Lithuanian</_description>
<languageList><iso639Id>lit</iso639Id></languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>dvorak</name>
- <_description>Lithuania - Dvorak</_description>
+ <_description>Lithuanian (Dvorak)</_description>
+ </configItem>
+ </variant>
+ </variantList>
+ </layout>
+ <layout>
+ <configItem>
+ <name>lv</name>
+ <_shortDescription>lv</_shortDescription>
+ <_description>Latvian</_description>
+ <languageList>
+ <iso639Id>lav</iso639Id>
+ </languageList>
+ </configItem>
+ <variantList>
+ <variant>
+ <configItem>
+ <name>dvorak</name>
+ <_description>Latvian (US Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ykeydvorak</name>
+ <_description>Latvian (US Dvorak, Y-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>minuskeydvorak</name>
+ <_description>Latvian (US Dvorak, minus-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>dvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ykeydvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak, Y-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>minuskeydvorakprogr</name>
+ <_description>Latvian (programmer US Dvorak - minus-letter variant)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>colemak</name>
+ <_description>Latvian (US Colemak)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>apostrophecolemak</name>
+ <_description>Latvian (US Colemak, apostrophe variant)</_description>
</configItem>
</variant>
</variantList>
@@ -56,26 +116,26 @@
<variant>
<configItem>
<name>intl-unicode</name>
- <_description>USA - International (AltGr Unicode combining)</_description>
+ <_description>English (US, international (AltGr Unicode combining)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>alt-intl-unicode</name>
- <_description>USA - International (AltGr Unicode combining, alternative)</_description>
+ <_description>English (US, international AltGr Unicode combining, alternative)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>ats</name>
- <_description>USA - Atsina</_description>
+ <_description>Atsina</_description>
<!-- No ISO code in ISO639-2, only draft ISO693-3 -->
</configItem>
</variant>
<variant>
<configItem>
<name>crd</name>
- <_description>USA - Couer D'alene Salish</_description>
+ <_description>Couer D'alene Salish</_description>
<languageList><iso639Id>crd</iso639Id></languageList>
</configItem>
</variant>
@@ -85,14 +145,14 @@
<configItem>
<name>ro</name>
<_shortDescription>Rou</_shortDescription>
- <_description>Romania</_description>
+ <_description>Romanian</_description>
<languageList><iso639Id>rum</iso639Id></languageList>
</configItem>
<variantList>
<variant>
<configItem>
<name>ergonomic</name>
- <_description>Romania - Ergonomic Touchtype</_description>
+ <_description>Romanian (ergonomic Touchtype)</_description>
</configItem>
</variant>
</variantList>
@@ -108,7 +168,7 @@
<variant>
<configItem>
<name>combiningkeys</name>
- <_description>Serbia - Combining accents instead of dead keys</_description>
+ <_description>Serbian (combining accents instead of dead keys)</_description>
</configItem>
</variant>
</variantList>
@@ -117,13 +177,13 @@
<configItem>
<name>ru</name>
<_shortDescription>Rus</_shortDescription>
- <_description>Russia</_description>
+ <_description>Russian</_description>
</configItem>
<variantList>
<variant>
<configItem>
<name>chu</name>
- <description>Russia - Church Slavonic</description>
+ <description>Church Slavonic</description>
<languageList><iso639Id>chu</iso639Id></languageList>
</configItem>
</variant>
diff --git a/xorg-server/xkeyboard-config/rules/base.xml.in b/xorg-server/xkeyboard-config/rules/base.xml.in
index 1a2377843..74666dcd3 100644
--- a/xorg-server/xkeyboard-config/rules/base.xml.in
+++ b/xorg-server/xkeyboard-config/rules/base.xml.in
@@ -1602,7 +1602,7 @@
<variant>
<configItem>
<name>cyrillic</name>
- <_description>Azerbaijan (Cyrillic)</_description>
+ <_description>Azerbaijani (Cyrillic)</_description>
</configItem>
</variant>
</variantList>
@@ -2589,7 +2589,7 @@
<variant>
<configItem>
<name>smi</name>
- <_description>Saami (Finland)</_description>
+ <_description>Northern Saami (Finland)</_description>
<languageList><iso639Id>sme</iso639Id></languageList>
</configItem>
</variant>
@@ -3285,7 +3285,7 @@
<configItem>
<name>kh</name>
<_shortDescription>km</_shortDescription>
- <_description>Khmer (Cambodian)</_description>
+ <_description>Khmer (Cambodia)</_description>
<languageList>
<iso639Id>khm</iso639Id>
</languageList>
@@ -3389,7 +3389,7 @@
<variant>
<configItem>
<name>sundeadkeys</name>
- <_description>Spanish (Latin American, sun dead keys)</_description>
+ <_description>Spanish (Latin American, Sun dead keys)</_description>
</configItem>
</variant>
</variantList>
@@ -3449,13 +3449,13 @@
<variant>
<configItem>
<name>apostrophe</name>
- <_description>Latvian (Apostrophe ' variant)</_description>
+ <_description>Latvian (apostrophe variant)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>tilde</name>
- <_description>Latvian (Tilde ~ variant)</_description>
+ <_description>Latvian (tilde variant)</_description>
</configItem>
</variant>
<variant>
@@ -3464,13 +3464,31 @@
<_description>Latvian (F variant)</_description>
</configItem>
</variant>
+ <variant>
+ <configItem>
+ <name>modern</name>
+ <_description>Latvian (modern)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>ergonomic</name>
+ <_description>Latvian (ergonomic, ŪGJRMV)</_description>
+ </configItem>
+ </variant>
+ <variant>
+ <configItem>
+ <name>adapted</name>
+ <_description>Latvian (adapted)</_description>
+ </configItem>
+ </variant>
</variantList>
</layout>
<layout>
<configItem>
<name>mao</name>
<_shortDescription>mi</_shortDescription>
- <_description>Māori</_description>
+ <_description>Maori</_description>
<languageList>
<iso639Id>mao</iso639Id>
</languageList>
@@ -3603,7 +3621,7 @@
<variant>
<configItem>
<name>smi</name>
- <_description>Saami (Norway)</_description>
+ <_description>Northern Saami (Norway)</_description>
<languageList>
<iso639Id>sme</iso639Id>
</languageList>
@@ -3612,7 +3630,7 @@
<variant>
<configItem>
<name>smi_nodeadkeys</name>
- <_description>Saami (Norway, eliminate dead keys)</_description>
+ <_description>Northern Saami (Norway, eliminate dead keys)</_description>
<languageList>
<iso639Id>sme</iso639Id>
</languageList>
@@ -3657,19 +3675,19 @@
<variant>
<configItem>
<name>dvorak_quotes</name>
- <_description>Polish (Dvorak, polish quotes on quotemark key)</_description>
+ <_description>Polish (Dvorak, Polish quotes on quotemark key)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>dvorak_altquotes</name>
- <_description>Polish (Dvorak, polish quotes on key 1)</_description>
+ <_description>Polish (Dvorak, Polish quotes on key 1)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>csb</name>
- <_description>Polish (Kashubian)</_description>
+ <_description>Kashubian</_description>
<languageList>
<iso639Id>csb</iso639Id>
</languageList>
@@ -3748,7 +3766,7 @@
<variant>
<configItem>
<name>nativo-epo</name>
- <_description>Portuguese (Nativo for Esperanto)</_description>
+ <_description>Esperanto (Portugal, Nativo)</_description>
<languageList>
<iso639Id>epo</iso639Id>
</languageList>
@@ -3845,7 +3863,7 @@
<variant>
<configItem>
<name>tt</name>
- <_description>Russian (Tatar)</_description>
+ <_description>Tatar</_description>
<languageList>
<iso639Id>tat</iso639Id>
</languageList>
@@ -3854,7 +3872,7 @@
<variant>
<configItem>
<name>os_legacy</name>
- <_description>Russian (Ossetian, legacy)</_description>
+ <_description>Ossetian (legacy)</_description>
<languageList>
<iso639Id>oss</iso639Id>
</languageList>
@@ -3863,7 +3881,7 @@
<variant>
<configItem>
<name>os_winkeys</name>
- <_description>Russian (Ossetian, WinKeys)</_description>
+ <_description>Ossetian (WinKeys)</_description>
<languageList>
<iso639Id>oss</iso639Id>
</languageList>
@@ -3872,7 +3890,7 @@
<variant>
<configItem>
<name>cv</name>
- <_description>Russian (Chuvash)</_description>
+ <_description>Chuvash</_description>
<languageList>
<iso639Id>chv</iso639Id>
</languageList>
@@ -3881,7 +3899,7 @@
<variant>
<configItem>
<name>cv_latin</name>
- <_description>Russian (Chuvash Latin)</_description>
+ <_description>Chuvash (Latin)</_description>
<languageList>
<iso639Id>chv</iso639Id>
</languageList>
@@ -3890,7 +3908,7 @@
<variant>
<configItem>
<name>udm</name>
- <_description>Russian (Udmurt)</_description>
+ <_description>Udmurt</_description>
<languageList>
<iso639Id>udm</iso639Id>
</languageList>
@@ -3899,7 +3917,7 @@
<variant>
<configItem>
<name>kom</name>
- <_description>Russian (Komi)</_description>
+ <_description>Komi</_description>
<languageList>
<iso639Id>kom</iso639Id>
</languageList>
@@ -3908,7 +3926,7 @@
<variant>
<configItem>
<name>sah</name>
- <_description>Russian (Yakut)</_description>
+ <_description>Yakut</_description>
<languageList>
<iso639Id>sah</iso639Id>
</languageList>
@@ -3917,7 +3935,7 @@
<variant>
<configItem>
<name>xal</name>
- <_description>Russian (Kalmyk)</_description>
+ <_description>Kalmyk</_description>
<languageList>
<iso639Id>xal</iso639Id>
</languageList>
@@ -3932,7 +3950,7 @@
<variant>
<configItem>
<name>srp</name>
- <_description>Russian (Serbian)</_description>
+ <_description>Serbian (Russia)</_description>
<languageList><iso639Id>rus</iso639Id>
<iso639Id>srp</iso639Id></languageList>
</configItem>
@@ -3940,7 +3958,7 @@
<variant>
<configItem>
<name>bak</name>
- <_description>Russian (Bashkirian)</_description>
+ <_description>Bashkirian</_description>
<languageList>
<iso639Id>bak</iso639Id>
</languageList>
@@ -3949,7 +3967,7 @@
<variant>
<configItem>
<name>chm</name>
- <_description>Russian (Mari)</_description>
+ <_description>Mari</_description>
<languageList>
<iso639Id>chm</iso639Id>
</languageList>
@@ -4012,7 +4030,7 @@
<variant>
<configItem>
<name>rue</name>
- <_description>Serbian (Pannonian Rusyn Homophonic)</_description>
+ <_description>Pannonian Rusyn (homophonic)</_description>
<languageList>
<iso639Id>rue</iso639Id>
</languageList>
@@ -4024,7 +4042,7 @@
<configItem>
<name>si</name>
<_shortDescription>sl</_shortDescription>
- <_description>Slovene</_description>
+ <_description>Slovenian</_description>
<languageList>
<iso639Id>slv</iso639Id>
</languageList>
@@ -4033,13 +4051,13 @@
<variant>
<configItem>
<name>alternatequotes</name>
- <_description>Slovene (use guillemets for quotes)</_description>
+ <_description>Slovenian (use guillemets for quotes)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>us</name>
- <_description>Slovene (US keyboard with Slovenian letters)</_description>
+ <_description>Slovenian (US keyboard with Slovenian letters)</_description>
</configItem>
</variant>
</variantList>
@@ -4111,7 +4129,7 @@
<variant>
<configItem>
<name>ast</name>
- <_description>Spanish (Asturian variant with bottom-dot H and bottom-dot L)</_description>
+ <_description>Asturian (Spain, with bottom-dot H and bottom-dot L)</_description>
<languageList>
<iso639Id>ast</iso639Id>
</languageList>
@@ -4120,7 +4138,7 @@
<variant>
<configItem>
<name>cat</name>
- <_description>Spanish (Catalan variant with middle-dot L)</_description>
+ <_description>Catalan (Spain, with middle-dot L)</_description>
<languageList>
<iso639Id>cat</iso639Id>
</languageList>
@@ -4179,7 +4197,7 @@
<variant>
<configItem>
<name>smi</name>
- <_description>Saami (Sweden)</_description>
+ <_description>Northern Saami (Sweden)</_description>
<languageList>
<iso639Id>sme</iso639Id>
</languageList>
@@ -4203,7 +4221,7 @@
<configItem>
<name>ch</name>
<_shortDescription>che</_shortDescription>
- <_description>German</_description>
+ <_description>German (Switzerland)</_description>
<languageList><iso639Id>ger</iso639Id>
<iso639Id>gsw</iso639Id></languageList>
</configItem>
@@ -4586,7 +4604,7 @@
<variant>
<configItem>
<name>rstu_ru</name>
- <_description>Ukrainian (standard RSTU on Russian layout)</_description>
+ <_description>Russian (Ukraine, standard RSTU)</_description>
</configItem>
</variant>
<variant>
@@ -4610,7 +4628,7 @@
<variant>
<configItem>
<name>extd</name>
- <_description>English (UK, extended, WinKeys)</_description>
+ <_description>English (UK, extended WinKeys)</_description>
</configItem>
</variant>
<variant>
@@ -4628,7 +4646,7 @@
<variant>
<configItem>
<name>dvorakukp</name>
- <_description>English (UK, Dvorak UK punctuation)</_description>
+ <_description>English (UK, Dvorak with UK punctuation)</_description>
</configItem>
</variant>
<variant>
@@ -4725,7 +4743,7 @@
<variant>
<configItem>
<name>CloGaelach</name>
- <_description>Irish (CloGaelach)</_description>
+ <_description>CloGaelach</_description>
<languageList>
<iso639Id>gla</iso639Id>
</languageList>
@@ -4740,13 +4758,19 @@
<variant>
<configItem>
<name>ogam</name>
- <_description>Irish (Ogham)</_description>
+ <_description>Ogham</_description>
+ <languageList>
+ <iso639Id>sga</iso639Id>
+ </languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>ogam_is434</name>
- <_description>Irish (Ogham IS434)</_description>
+ <_description>Ogham (IS434)</_description>
+ <languageList>
+ <iso639Id>sga</iso639Id>
+ </languageList>
</configItem>
</variant>
</variantList>
@@ -4765,18 +4789,12 @@
<configItem>
<name>urd-crulp</name>
<_description>Urdu (Pakistan, CRULP)</_description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>urd-nla</name>
<_description>Urdu (Pakistan, NLA)</_description>
- <languageList>
- <iso639Id>urd</iso639Id>
- </languageList>
</configItem>
</variant>
<variant>
@@ -4968,20 +4986,23 @@
<name>fr-oss</name>
<_shortDescription>fr</_shortDescription>
<_description>French (Mali, alternative)</_description>
+ <languageList>
+ <iso639Id>fr</iso639Id>
+ </languageList>
</configItem>
</variant>
<variant>
<configItem>
<name>us-mac</name>
<_shortDescription>en</_shortDescription>
- <_description>English (Mali, USA Macintosh)</_description>
+ <_description>English (Mali, US Macintosh)</_description>
</configItem>
</variant>
<variant>
<configItem>
<name>us-intl</name>
<_shortDescription>en</_shortDescription>
- <_description>English (Mali, USA international)</_description>
+ <_description>English (Mali, US international)</_description>
</configItem>
</variant>
</variantList>
@@ -5137,7 +5158,7 @@
<variant>
<configItem>
<name>dvorak-bay</name>
- <_description>Philippines - Dvorak (Baybayin)</_description>
+ <_description>Filipino (Dvorak Baybayin)</_description>
<languageList><iso639Id>bik</iso639Id>
<iso639Id>ceb</iso639Id>
<iso639Id>fil</iso639Id>
diff --git a/xorg-server/xkeyboard-config/symbols/brai b/xorg-server/xkeyboard-config/symbols/brai
index b748d184b..bd5038446 100644
--- a/xorg-server/xkeyboard-config/symbols/brai
+++ b/xorg-server/xkeyboard-config/symbols/brai
@@ -22,7 +22,7 @@ partial alphanumeric_keys
xkb_symbols "left_hand" {
include "brai(keypad)"
- name[Group1]="Braille - Left hand";
+ name[Group1]="Braille (left hand)";
key <AC03> { [ braille_dot_1 ] };
key <AC02> { [ braille_dot_2 ] };
@@ -37,7 +37,7 @@ partial alphanumeric_keys
xkb_symbols "right_hand" {
include "brai(keypad)"
- name[Group1]="Braille - Right hand";
+ name[Group1]="Braille (right hand)";
key <AC07> { [ braille_dot_1 ] };
key <AB05> { [ braille_dot_2 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/bw b/xorg-server/xkeyboard-config/symbols/bw
index 9243da20f..60d99e5ed 100644
--- a/xorg-server/xkeyboard-config/symbols/bw
+++ b/xorg-server/xkeyboard-config/symbols/bw
@@ -3,7 +3,7 @@ xkb_symbols "tswana" {
include "us"
- name[Group1]= "Botswana";
+ name[Group1]= "Tswana";
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
diff --git a/xorg-server/xkeyboard-config/symbols/ch b/xorg-server/xkeyboard-config/symbols/ch
index ffb772d80..4cb04aa84 100644
--- a/xorg-server/xkeyboard-config/symbols/ch
+++ b/xorg-server/xkeyboard-config/symbols/ch
@@ -4,7 +4,7 @@ xkb_symbols "basic" {
include "latin"
// Alphanumeric section
- name[Group1]= "Switzerland";
+ name[Group1]= "German (Switzerland)";
key <TLDE> { [ section, degree ] };
key <AE01> { [ 1, plus, bar, exclamdown ] };
key <AE02> { [ 2, quotedbl, at, oneeighth ] };
@@ -41,7 +41,7 @@ partial alphanumeric_keys
xkb_symbols "legacy" {
include "ch(basic)"
- name[Group1]= "Switzerland - Legacy";
+ name[Group1]= "German (Switzerland, legacy)";
key <AE07> { [ 7, slash, brokenbar ] };
};
@@ -62,14 +62,14 @@ xkb_symbols "de_Sundeadkeys" {
partial alphanumeric_keys
xkb_symbols "de_sundeadkeys" {
include "ch(de_Sundeadkeys)"
- name[Group1]= "Switzerland - German, Sun dead keys";
+ name[Group1]= "German (Switzerland, Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "de_nodeadkeys" {
// modify the basic Swiss German layout not to have any dead keys
include "ch(basic)"
- name[Group1]= "Switzerland - German, eliminate dead keys";
+ name[Group1]= "German (Switzerland, eliminate dead keys)";
key <AE11> { [ apostrophe, question, acute ] };
key <AE12> { [ asciicircum, grave, asciitilde ] };
key <AD12> { [ diaeresis, exclam, bracketright ] };
@@ -82,7 +82,7 @@ xkb_symbols "fr" {
// keyboard and a very simple Swiss/French keybaord
include "ch(basic)"
- name[Group1]= "Switzerland - French";
+ name[Group1]= "French (Switzerland)";
override key <AD11> {
[ egrave, udiaeresis, bracketleft ]
@@ -107,14 +107,14 @@ xkb_symbols "fr_Sundeadkeys" {
partial alphanumeric_keys
xkb_symbols "fr_sundeadkeys" {
include "ch(fr_Sundeadkeys)"
- name[Group1]= "Switzerland - French, Sun dead keys";
+ name[Group1]= "French (Switzerland, Sun dead keys)";
};
partial alphanumeric_keys
xkb_symbols "fr_nodeadkeys" {
// modify the basic Swiss French layout not to have any dead keys
include "ch(fr)"
- name[Group1]= "Switzerland - French, eliminate dead keys";
+ name[Group1]= "French (Switzerland, eliminate dead keys)";
key <AE11> { [ apostrophe, question, acute ] };
key <AE12> { [ asciicircum, grave, asciitilde ] };
key <AD12> { [ diaeresis, exclam, bracketright ] };
@@ -128,7 +128,7 @@ xkb_symbols "fr_nodeadkeys" {
partial alphanumeric_keys
xkb_symbols "de_mac" {
- name[Group1]= "Switzerland - German (Macintosh)";
+ name[Group1]= "German (Switzerland, Macintosh)";
// Alphanumeric section
@@ -199,7 +199,7 @@ xkb_symbols "fr_mac" {
// keyboard and a very simple Swiss/French keybaord
include "ch(de_mac)"
- name[Group1]= "Switzerland - French (Macintosh)";
+ name[Group1]= "French (Switzerland, Macintosh)";
override key <AD11> {
[ egrave, udiaeresis, bracketleft ]
diff --git a/xorg-server/xkeyboard-config/symbols/epo b/xorg-server/xkeyboard-config/symbols/epo
index d5bd762fe..ac1557dee 100644
--- a/xorg-server/xkeyboard-config/symbols/epo
+++ b/xorg-server/xkeyboard-config/symbols/epo
@@ -48,7 +48,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "legacy" {
- name[Group1]= "Esperanto - displaced semicolon and quote (obsolete)";
+ name[Group1]= "Esperanto (displaced semicolon and quote, obsolete)";
key.type[Group1] = "FOUR_LEVEL";
diff --git a/xorg-server/xkeyboard-config/symbols/es b/xorg-server/xkeyboard-config/symbols/es
index 7f92d8767..e33a3c277 100644
--- a/xorg-server/xkeyboard-config/symbols/es
+++ b/xorg-server/xkeyboard-config/symbols/es
@@ -7,7 +7,7 @@ xkb_symbols "basic" {
include "latin(type4)"
- name[Group1]="Spain";
+ name[Group1]="Spanish";
key <AE01> { [ 1, exclam, bar, exclamdown ] };
key <AE03> { [ 3, periodcentered, numbersign, sterling ] };
@@ -42,7 +42,7 @@ xkb_symbols "sundeadkeys" {
include "es(Sundeadkeys)"
- name[Group1]="Spain - Sun dead keys";
+ name[Group1]="Spanish (Sun dead keys)";
};
partial alphanumeric_keys
@@ -50,7 +50,7 @@ xkb_symbols "nodeadkeys" {
include "es(basic)"
- name[Group1]="Spain - Eliminate dead keys";
+ name[Group1]="Spanish (eliminate dead keys)";
key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
key <AD12> { [ plus, asterisk, bracketright, macron ] };
@@ -64,7 +64,7 @@ xkb_symbols "nodeadkeys" {
partial alphanumeric_keys
xkb_symbols "dvorak" {
- name[Group1]="Spain - Dvorak";
+ name[Group1]="Spanish (Dvorak)";
// Alphanumeric section
key <TLDE> {[ masculine, ordfeminine, backslash, degree ]};
@@ -127,7 +127,7 @@ xkb_symbols "cat" {
include "es(basic)"
- name[Group1]="Spain - Catalan variant with middle-dot L";
+ name[Group1]="Catalan (Spain, with middle-dot L)";
key <AC09> { [ l, L, 0x1000140, 0x100013F ] };
};
@@ -137,7 +137,7 @@ xkb_symbols "ast" {
include "es(basic)"
- name[Group1]="Spain - Asturian variant with bottom-dot H and bottom-dot L";
+ name[Group1]="Asturian (Spain, with bottom-dot H and bottom-dot L)";
key <AC06> { [ h, H, 0x1001E25, 0x1001E24 ] };
key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] };
@@ -151,7 +151,7 @@ xkb_symbols "mac" {
// keyboard and a very simple Spanish keybaord
include "es"
- name[Group1]= "Spain - Macintosh";
+ name[Group1]= "Spanish (Macintosh)";
};
@@ -159,7 +159,7 @@ partial alphanumeric_keys
xkb_symbols "olpc" {
include "us(basic)"
- name[Group1]="Spain";
+ name[Group1]="Spanish";
key <TLDE> { [ masculine, ordfeminine ] };
key <AE01> { [ 1, exclam, bar ] };
@@ -196,7 +196,7 @@ xkb_symbols "deadtilde" {
include "es(basic)"
- name[Group1]="Spain - Include dead tilde";
+ name[Group1]="Spanish (include dead tilde)";
key <AE04> { [ 4, dollar, dead_tilde, dollar ] };
};
@@ -208,7 +208,7 @@ xkb_symbols "olpc2" {
// Contact: Sayamindu Dasgupta <sayamindu@laptop.org>
include "us(olpc)"
- name[Group1]="Spain - OLPC2";
+ name[Group1]="Spanish (OLPC2)";
key <AE03> { [ 3, numbersign, dead_grave, dead_grave] }; // combining grave
key <I236> { [ XF86Start ] };
diff --git a/xorg-server/xkeyboard-config/symbols/et b/xorg-server/xkeyboard-config/symbols/et
index e1530c2ad..e74c7cee0 100644
--- a/xorg-server/xkeyboard-config/symbols/et
+++ b/xorg-server/xkeyboard-config/symbols/et
@@ -8,7 +8,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
include "et(olpc)"
- name[Group1]="Ethiopia";
+ name[Group1]="Amharic";
};
partial alphanumeric_keys
diff --git a/xorg-server/xkeyboard-config/symbols/fi b/xorg-server/xkeyboard-config/symbols/fi
index 825e77435..cfb706311 100644
--- a/xorg-server/xkeyboard-config/symbols/fi
+++ b/xorg-server/xkeyboard-config/symbols/fi
@@ -189,7 +189,7 @@ xkb_symbols "smi" {
include "no(smi)"
- name[Group1]="Saami (Finland)";
+ name[Group1]="Northern Saami (Finland)";
key <AC10> { [ odiaeresis, Odiaeresis, oslash, Oslash ] };
key <AC11> { [ adiaeresis, Adiaeresis, ae, AE ] };
diff --git a/xorg-server/xkeyboard-config/symbols/gb b/xorg-server/xkeyboard-config/symbols/gb
index 60987e68c..e59510e14 100644
--- a/xorg-server/xkeyboard-config/symbols/gb
+++ b/xorg-server/xkeyboard-config/symbols/gb
@@ -10,7 +10,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1]="United Kingdom";
+ name[Group1]="English (UK)";
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
key <AE03> { [ 3, sterling, threesuperior, sterling ] };
@@ -41,7 +41,7 @@ xkb_symbols "intl" {
include "latin"
- name[Group1]="United Kingdom - International (with dead keys)";
+ name[Group1]="English (UK, international with dead keys)";
key <AE02> { [ 2, dead_diaeresis, twosuperior, onehalf ] };
key <AE03> { [ 3, sterling, threesuperior, onethird ] };
@@ -59,7 +59,7 @@ xkb_symbols "intl" {
partial alphanumeric_keys
xkb_symbols "extd" {
- // Clone of the Microsoft "United Kingdom - Extended" layout, which
+ // Clone of the Microsoft "English (UK, Extended" layout, which
// includes dead keys for: grave; diaeresis; circumflex; tilde; and
// accute. It also enables direct access to accute characters using
// the Multi_key (Alt Gr).
@@ -72,7 +72,7 @@ xkb_symbols "extd" {
include "latin"
- name[Group1]="United Kingdom - Extended - Winkeys";
+ name[Group1]="English (UK, extended WinKeys)";
// Alphanumeric section
key <TLDE> { [ dead_grave, notsign, brokenbar, NoSymbol ] };
@@ -108,7 +108,7 @@ partial alphanumeric_keys
xkb_symbols "colemak" {
include "us(colemak)"
- name[Group1]="United Kingdom - Colemak";
+ name[Group1]="English (UK, Colemak)";
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
key <AE03> { [ 3, sterling, threesuperior, sterling ] };
@@ -131,7 +131,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak-alt-intl)"
- name[Group1]="United Kingdom - Dvorak";
+ name[Group1]="English (UK, Dvorak)";
key <AD01> { [ apostrophe, at ] };
key <AE02> { [ 2, quotedbl, twosuperior, NoSymbol ] };
@@ -146,7 +146,7 @@ partial alphanumeric_keys
xkb_symbols "dvorakukp" {
include "gb(dvorak)"
- name[Group1]="United Kingdom - Dvorak (UK Punctuation)";
+ name[Group1]="English (UK, Dvorak with UK punctuation)";
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
@@ -165,7 +165,7 @@ xkb_symbols "mac" {
include "latin"
- name[Group1]= "United Kingdom - Macintosh";
+ name[Group1]= "English (UK, Macintosh)";
key <AE02> { [ 2, at, EuroSign ] };
key <AE03> { [ 3, sterling, numbersign ] };
@@ -181,7 +181,7 @@ xkb_symbols "mac_intl" {
include "latin"
- name[Group1]="United Kingdom - Macintosh (International)";
+ name[Group1]="English (UK, Macintosh international)";
key <AE02> { [ 2, at, EuroSign, onehalf ] };
key <AE03> { [ 3, sterling, twosuperior, onethird ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ie b/xorg-server/xkeyboard-config/symbols/ie
index ce9a0e84d..2d9ba68bd 100644
--- a/xorg-server/xkeyboard-config/symbols/ie
+++ b/xorg-server/xkeyboard-config/symbols/ie
@@ -32,7 +32,7 @@ xkb_symbols "basic" {
// - non-breaking space as AltGr+Space and AltGr+Shift+Space
// - matches hardware (keys and engraved symbols) for Irish keyboards
- name[Group1] = "Ireland";
+ name[Group1] = "Irish";
//
// Numeric row `1234567890-=
@@ -130,7 +130,7 @@ xkb_symbols "CloGaelach" {
include "ie(basic)"
- name[Group1] = "Ireland - CloGaelach";
+ name[Group1] = "CloGaelach";
key <TLDE> { [ grave, notsign, brokenbar, ssharp ] };
key <AD04> { [ r, R, 0x100027C, registered ] };
@@ -157,7 +157,7 @@ xkb_symbols "UnicodeExpert" {
// This should eventually be a "Unicode Expert" layout like the Mac one.
- name[Group1] = "Ireland - UnicodeExpert";
+ name[Group1] = "Irish (UnicodeExpert)";
//
// Numeric row `1234567890-=
@@ -247,7 +247,7 @@ xkb_symbols "UnicodeExpert" {
partial alphanumeric_keys
xkb_symbols "ogam" {
- name[Group1] = "Ireland - Ogham";
+ name[Group1] = "Ogham";
key.type[Group1] = "ONE_LEVEL";
@@ -315,7 +315,7 @@ xkb_symbols "ogam_is434" {
// This has the full layout of IS434 with an Irish QWERTY keyboard,
// and the Ogham characters accessed when CAPS LOCK is on.
- name[Group1] = "Ireland - Ogham IS434";
+ name[Group1] = "Ogham (IS434)";
key.type[Group1] = "THREE_LEVEL";
diff --git a/xorg-server/xkeyboard-config/symbols/ir b/xorg-server/xkeyboard-config/symbols/ir
index 723c8b5ae..4ae61ea1c 100644
--- a/xorg-server/xkeyboard-config/symbols/ir
+++ b/xorg-server/xkeyboard-config/symbols/ir
@@ -251,7 +251,7 @@ xkb_symbols "ku_ara" {
// Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32
// Creation of this file by Simos Xenitellis.
-partial default alphanumeric_keys
+partial alphanumeric_keys
xkb_symbols "ave"
{
name[Group1] = "Avestan";
diff --git a/xorg-server/xkeyboard-config/symbols/jp b/xorg-server/xkeyboard-config/symbols/jp
index 64b50a44c..36f12e4eb 100644
--- a/xorg-server/xkeyboard-config/symbols/jp
+++ b/xorg-server/xkeyboard-config/symbols/jp
@@ -5,7 +5,7 @@
partial default alphanumeric_keys
xkb_symbols "106" {
include "jp(common)"
- name[Group1]= "Japan";
+ name[Group1]= "Japanese";
key <AE10> { [ 0, asciitilde ] };
key <AE13> { [ backslash, bar ] };
@@ -108,7 +108,7 @@ partial alphanumeric_keys
xkb_symbols "OADG109A" {
include "jp(common)"
- name[Group1]= "Japan - OADG 109A";
+ name[Group1]= "Japanese (OADG 109A)";
key <AE10> { [ 0 ] };
key <AE13> { [ yen, bar ] };
@@ -124,7 +124,7 @@ xkb_symbols "kana86" {
include "altwin(menu)"
include "jp(kana)"
include "jp(OADG109A)"
- name[Group1]= "Japan - Kana 86";
+ name[Group1]= "Japanese (Kana 86)";
key <ESC> { [ Escape ] };
key <NMLK> { [ Num_Lock, Pointer_EnableKeys ] };
@@ -145,7 +145,7 @@ xkb_symbols "kana86" {
partial alphanumeric_keys
xkb_symbols "kana" {
- name[Group1]= "Japan - Kana";
+ name[Group1]= "Japanese (Kana)";
// Alphanumeric section
key <HZTG> {
@@ -241,7 +241,7 @@ xkb_symbols "nicola_f_bs" {
// Copied from macintosh_vndr/jp
partial alphanumeric_keys
xkb_symbols "mac" {
- name[Group1] = "Japan - Macintosh";
+ name[Group1] = "Japanese (Macintosh)";
include "jp(kana)"
replace key <CAPS> { [ Caps_Lock ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ke b/xorg-server/xkeyboard-config/symbols/ke
index 6d75d6780..2c9e5a1a2 100644
--- a/xorg-server/xkeyboard-config/symbols/ke
+++ b/xorg-server/xkeyboard-config/symbols/ke
@@ -8,7 +8,7 @@ xkb_symbols "swa" {
include "us"
- name[Group1]= "Kenya";
+ name[Group1]= "Swahili (Kenya)";
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
@@ -27,7 +27,7 @@ xkb_symbols "kik" {
include "us"
- name[Group1]= "Kenya - Kikuyu";
+ name[Group1]= "Kikuyu";
key <AC10> { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW
key <AC11> { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS
diff --git a/xorg-server/xkeyboard-config/symbols/kg b/xorg-server/xkeyboard-config/symbols/kg
index 8687cb608..0ff85408d 100644
--- a/xorg-server/xkeyboard-config/symbols/kg
+++ b/xorg-server/xkeyboard-config/symbols/kg
@@ -21,7 +21,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Kyrgyzstan";
+ name[Group1]= "Kyrgyz";
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, quotedbl ] };
@@ -78,7 +78,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "phonetic" {
- name[Group1]="Kyrgyzstan - Phonetic";
+ name[Group1]="Kyrgyz (phonetic)";
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, quotedbl ] };
diff --git a/xorg-server/xkeyboard-config/symbols/kh b/xorg-server/xkeyboard-config/symbols/kh
index 7fb5b74df..3f03e4061 100644
--- a/xorg-server/xkeyboard-config/symbols/kh
+++ b/xorg-server/xkeyboard-config/symbols/kh
@@ -26,7 +26,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Cambodia";
+ name[Group1]= "Khmer (Cambodia)";
// there are four levels defined:
//
diff --git a/xorg-server/xkeyboard-config/symbols/kr b/xorg-server/xkeyboard-config/symbols/kr
index 013c5c101..cd7963864 100644
--- a/xorg-server/xkeyboard-config/symbols/kr
+++ b/xorg-server/xkeyboard-config/symbols/kr
@@ -1,14 +1,14 @@
default alphanumeric_keys
xkb_symbols "kr106" {
include "us"
- name[Group1]= "Korea, Republic of";
+ name[Group1]= "Korean";
include "kr(koreankeys)"
};
alphanumeric_keys
xkb_symbols "kr104" {
include "us"
- name[Group1]= "Korea, Republic of - 101/104 key Compatible";
+ name[Group1]= "Korean (101/104 key compatible)";
include "kr(koreankeys)"
include "kr(koreankeys_raltctl)"
};
diff --git a/xorg-server/xkeyboard-config/symbols/kz b/xorg-server/xkeyboard-config/symbols/kz
index 1110cc4ad..4b583abdd 100644
--- a/xorg-server/xkeyboard-config/symbols/kz
+++ b/xorg-server/xkeyboard-config/symbols/kz
@@ -13,7 +13,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1] = "Kazakhstan";
+ name[Group1] = "Kazakh";
key.type[group1] = "FOUR_LEVEL";
@@ -77,7 +77,7 @@ key.type[group1]="TWO_LEVEL";
partial alphanumeric_keys
xkb_symbols "ruskaz" {
- name[Group1] = "Kazakhstan - Russian with Kazakh";
+ name[Group1] = "Russian (Kazakhstan, with Kazakh)";
key.type[group1] = "FOUR_LEVEL";
@@ -138,7 +138,7 @@ key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
partial alphanumeric_keys
xkb_symbols "kazrus" {
- name[Group1] = "Kazakhstan - Kazakh with Russian";
+ name[Group1] = "Kazakh (with Russian)";
key.type[group1] = "FOUR_LEVEL";
@@ -206,7 +206,7 @@ xkb_symbols "olpc" {
include "kz(basic)"
- name[Group1] = "Kazakhstan";
+ name[Group1] = "Kazakh";
key <TLDE> { [ parenleft, parenright ] };
key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
diff --git a/xorg-server/xkeyboard-config/symbols/la b/xorg-server/xkeyboard-config/symbols/la
index f893a0268..6479fbb28 100644
--- a/xorg-server/xkeyboard-config/symbols/la
+++ b/xorg-server/xkeyboard-config/symbols/la
@@ -7,7 +7,7 @@ xkb_symbols "basic" {
// keyboard and a Lao keyboard
// This keymap uses the Lao keyboard standard [kind of] widely used inLaos
- name[Group1]= "Laos";
+ name[Group1]= "Lao";
// Alphanumeric section
key <TLDE> { [ 0x100200D ]};
@@ -87,7 +87,7 @@ xkb_symbols "stea" {
// have been omitted.
- name[Group1]= "Laos - STEA (proposed standard layout)";
+ name[Group1]= "Lao (STEA proposed standard layout)";
// Alphanumeric section
key <TLDE> { [ quotedbl, apostrophe ]};
diff --git a/xorg-server/xkeyboard-config/symbols/latam b/xorg-server/xkeyboard-config/symbols/latam
index de20f2109..94bf80a2e 100644
--- a/xorg-server/xkeyboard-config/symbols/latam
+++ b/xorg-server/xkeyboard-config/symbols/latam
@@ -6,7 +6,7 @@ xkb_symbols "basic" {
include "latin(type4)"
- name[Group1]="Latin American";
+ name[Group1]="Spanish (Latin American)";
key <AE01> { [ 1, exclam, bar, exclamdown ] };
key <AE03> { [ 3, numbersign, periodcentered, sterling ] };
@@ -38,7 +38,7 @@ xkb_symbols "Sundeadkeys" {
partial alphanumeric_keys
xkb_symbols "sundeadkeys" {
include "latam(Sundeadkeys)"
- name[Group1]="Latin American - Sun dead keys";
+ name[Group1]="Spanish (Latin American, Sun dead keys)";
};
partial alphanumeric_keys
@@ -46,7 +46,7 @@ xkb_symbols "nodeadkeys" {
include "latam(basic)"
- name[Group1]="Latin American - Eliminate dead keys";
+ name[Group1]="Spanish (Latin American, eliminate dead keys)";
key <AE12> { [questiondown, exclamdown, cedilla, ogonek ] };
key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
@@ -62,7 +62,7 @@ xkb_symbols "deadtilde" {
include "latam(basic)"
- name[Group1]="Latin American - Include dead tilde";
+ name[Group1]="Spanish (Latin American, include dead tilde)";
key <AD12> { [ plus, asterisk, dead_tilde, dead_macron ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/lk b/xorg-server/xkeyboard-config/symbols/lk
index fba5b29e1..ee929ba01 100644
--- a/xorg-server/xkeyboard-config/symbols/lk
+++ b/xorg-server/xkeyboard-config/symbols/lk
@@ -33,7 +33,7 @@ xkb_symbols "sin_phonetic" {
include "us"
// it is default - no details in the name
- name[Group1] = "Sri Lanka";
+ name[Group1] = "Sinhala";
key.type[Group1] = "FOUR_LEVEL";
// q - p
@@ -80,12 +80,12 @@ xkb_symbols "sin_phonetic" {
partial alphanumeric_keys
xkb_symbols "tam_unicode" {
include "in(tam_unicode)"
- name[Group1]= "Sri Lanka - Tamil Unicode";
+ name[Group1]= "Tamil (Sri Lanka, Unicode)";
};
partial alphanumeric_keys
xkb_symbols "tam_TAB" {
include "in(tam_TAB)"
- name[Group1]= "Sri Lanka - Tamil TAB Typewriter";
+ name[Group1]= "Tamil (Sri Lanka, TAB Typewriter)";
};
diff --git a/xorg-server/xkeyboard-config/symbols/lt b/xorg-server/xkeyboard-config/symbols/lt
index eaff3c3cc..17310f7eb 100644
--- a/xorg-server/xkeyboard-config/symbols/lt
+++ b/xorg-server/xkeyboard-config/symbols/lt
@@ -14,7 +14,7 @@ xkb_symbols "basic" {
include "eurosign(e)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania";
+ name[Group1]="Lithuanian";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ aogonek, Aogonek, 1, exclam ]};
@@ -42,7 +42,7 @@ xkb_symbols "us" {
include "eurosign(e)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania - US keyboard with Lithuanian letters";
+ name[Group1]="Lithuanian (US keyboard with Lithuanian letters)";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ 1, exclam, aogonek, Aogonek ]};
@@ -78,7 +78,7 @@ xkb_symbols "std" {
include "kpdl(comma)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania - Standard";
+ name[Group1]="Lithuanian (standard)";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ exclam, 1, at ]};
@@ -130,7 +130,7 @@ xkb_symbols "ibm" {
include "nbsp(level3)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania - IBM (LST 1205-92)";
+ name[Group1]="Lithuanian (IBM LST 1205-92)";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ exclam, 1 ]};
@@ -180,7 +180,7 @@ xkb_symbols "lekp" {
include "capslock(backspace)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania - LEKP";
+ name[Group1]="Lithuanian (LEKP)";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ slash, numbersign, bar ]};
@@ -241,7 +241,7 @@ xkb_symbols "lekpa" {
include "capslock(backspace)"
include "level3(ralt_switch)"
- name[Group1]="Lithuania - LEKPa";
+ name[Group1]="Lithuanian (LEKPa)";
key <TLDE> {[ grave, asciitilde, acute ]};
key <AE01> {[ slash, quotedbl, bar ]};
@@ -300,7 +300,7 @@ xkb_symbols "dvorak" {
include "us(dvorak)"
- name[Group1]="Lithuania - Dvorak";
+ name[Group1]="Lithuanian (Dvorak)";
key <AE01> { [ aogonek, Aogonek, 1, exclam ] };
key <AE02> { [ ccaron, Ccaron, 2, at ] };
diff --git a/xorg-server/xkeyboard-config/symbols/lv b/xorg-server/xkeyboard-config/symbols/lv
index 960622486..7d38c10b6 100644
--- a/xorg-server/xkeyboard-config/symbols/lv
+++ b/xorg-server/xkeyboard-config/symbols/lv
@@ -26,63 +26,81 @@
// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
// PERFORMANCE OF THIS SOFTWARE.
+// Modified by Aldis Berjoza <aldis@bsdroot.lv>, 12 april 2011
+// Changes:
+// * Added Latvian Ergonomic, Latvian Adapted and Latvian Modernd variants
+// Author of this work is Valdis Vītoliņš
+// http://odo.lv/LatvianKeyboard
+// http://odo.lv/Recipes/LatvianKeyboard#HErgonomiskC481stastatC5ABrasuzlikC5A1anauzLinuxdatora%22
+// * Added guillemotleft, leftdoublequotemark, guillemotright,
+// rightdoublequotemark to Latvian modern layout for AD11 and AD12
+// * Added US-Dvorac compatible Latvian layouts
+// * Added programmer US-Dvorac compatible Latvian layouts
+// * Added US-Colemak compatible Latvian layouts
+// * Reformatted layouts
+
+
+//============================================================================
+// Latvian QWERTY layout
+// http://en.wikipedia.org/wiki/QWERTY
+//
partial default alphanumeric_keys modifier_keys
xkb_symbols "basic" {
- name[Group1]= "Latvia";
-
- key <TLDE> {[grave, asciitilde, acute, asciitilde]};
- key <AE01> {[1, exclam, onesuperior, exclamdown]};
- key <AE02> {[2, at, twosuperior, oneeighth]};
- key <AE03> {[3, numbersign, threesuperior, sterling]};
- key <AE04> {[4, dollar, EuroSign, cent]};
- key <AE05> {[5, percent, onehalf, threeeighths]};
- key <AE06> {[6, asciicircum, threequarters, fiveeighths]};
- key <AE07> {[7, ampersand, braceleft, seveneighths]};
- key <AE08> {[8, asterisk, bracketleft, trademark]};
- key <AE09> {[9, parenleft, bracketright, plusminus]};
- key <AE10> {[0, parenright, braceright, degree]};
- key <AE11> {[minus, underscore, backslash, questiondown]};
- key <AE12> {[equal, plus, endash, emdash]};
-
- key <AD01> {[q, Q, q, Q]};
- key <AD02> {[w, W, w, W]};
- key <AD03> {[e, E, emacron, Emacron]};
- key <AD04> {[r, R, rcedilla, Rcedilla]};
- key <AD05> {[t, T, t, T]};
- key <AD06> {[y, Y, y, Y]};
- key <AD07> {[u, U, umacron, Umacron]};
- key <AD08> {[i, I, imacron, Imacron]};
- key <AD09> {[o, O, omacron, Omacron]};
- key <AD10> {[p, P, p, P]};
- key <AD11> {[bracketleft, braceleft, guillemotleft, leftdoublequotemark]};
- key <AD12> {[bracketright, braceright, guillemotright, rightdoublequotemark]};
-
- key <AC01> {[a, A, amacron, Amacron]};
- key <AC02> {[s, S, scaron, Scaron]};
- key <AC03> {[d, D, d, D]};
- key <AC04> {[f, F, f, F]};
- key <AC05> {[g, G, gcedilla, Gcedilla]};
- key <AC06> {[h, H, h, H]};
- key <AC07> {[j, J, j, J]};
- key <AC08> {[k, K, kcedilla, Kcedilla]};
- key <AC09> {[l, L, lcedilla, Lcedilla]};
- key <AC10> {[semicolon, colon, semicolon, colon]};
- key <AC11> {[apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark]};
-
- key <AB01> {[z, Z, zcaron, Zcaron]};
- key <AB02> {[x, X, x, X]};
- key <AB03> {[c, C, ccaron, Ccaron]};
- key <AB04> {[v, V, v, V]};
- key <AB05> {[b, B, b, B]};
- key <AB06> {[n, N, ncedilla, Ncedilla]};
- key <AB07> {[m, M, m, M]};
- key <AB08> {[comma, less, horizconnector, multiply]};
- key <AB09> {[period, greater, periodcentered, division]};
- key <AB10> {[slash, question, slash, abovedot]};
- key <BKSL> {[backslash, bar, grave, breve]};
-
- key <SPCE> {[space, space, space, space]};
+ name[Group1]= "Latvian";
+
+ key <TLDE> {[ grave, asciitilde, acute, asciitilde ]};
+ key <AE01> {[ 1, exclam, onesuperior, exclamdown ]};
+ key <AE02> {[ 2, at, twosuperior, oneeighth ]};
+ key <AE03> {[ 3, numbersign, threesuperior, sterling ]};
+ key <AE04> {[ 4, dollar, EuroSign, cent ]};
+ key <AE05> {[ 5, percent, onehalf, threeeighths ]};
+ key <AE06> {[ 6, asciicircum, threequarters, fiveeighths ]};
+ key <AE07> {[ 7, ampersand, braceleft, seveneighths ]};
+ key <AE08> {[ 8, asterisk, bracketleft, trademark ]};
+ key <AE09> {[ 9, parenleft, bracketright, plusminus ]};
+ key <AE10> {[ 0, parenright, braceright, degree ]};
+ key <AE11> {[ minus, underscore, backslash, questiondown ]};
+ key <AE12> {[ equal, plus, endash, emdash ]};
+
+ key <AD01> {[ q, Q, q, Q ]};
+ key <AD02> {[ w, W, w, W ]};
+ key <AD03> {[ e, E, emacron, Emacron ]};
+ key <AD04> {[ r, R, rcedilla, Rcedilla ]};
+ key <AD05> {[ t, T, t, T ]};
+ key <AD06> {[ y, Y, y, Y ]};
+ key <AD07> {[ u, U, umacron, Umacron ]};
+ key <AD08> {[ i, I, imacron, Imacron ]};
+ key <AD09> {[ o, O, omacron, Omacron ]};
+ key <AD10> {[ p, P, p, P ]};
+ key <AD11> {[ bracketleft, braceleft, guillemotleft, leftdoublequotemark ]};
+ key <AD12> {[ bracketright, braceright, guillemotright, rightdoublequotemark ]};
+
+ key <AC01> {[ a, A, amacron, Amacron ]};
+ key <AC02> {[ s, S, scaron, Scaron ]};
+ key <AC03> {[ d, D, d, D ]};
+ key <AC04> {[ f, F, f, F ]};
+ key <AC05> {[ g, G, gcedilla, Gcedilla ]};
+ key <AC06> {[ h, H, h, H ]};
+ key <AC07> {[ j, J, j, J ]};
+ key <AC08> {[ k, K, kcedilla, Kcedilla ]};
+ key <AC09> {[ l, L, lcedilla, Lcedilla ]};
+ key <AC10> {[ semicolon, colon, semicolon, colon ]};
+ key <AC11> {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]};
+
+ key <AB01> {[ z, Z, zcaron, Zcaron ]};
+ key <AB02> {[ x, X, x, X ]};
+ key <AB03> {[ c, C, ccaron, Ccaron ]};
+ key <AB04> {[ v, V, v, V ]};
+ key <AB05> {[ b, B, b, B ]};
+ key <AB06> {[ n, N, ncedilla, Ncedilla ]};
+ key <AB07> {[ m, M, m, M ]};
+ key <AB08> {[ comma, less, horizconnector, multiply ]};
+ key <AB09> {[ period, greater, periodcentered, division ]};
+ key <AB10> {[ slash, question, slash, abovedot ]};
+ key <BKSL> {[ backslash, bar, grave, breve ]};
+
+ key <SPCE> {[ space, space, space, space ]};
include "level3(ralt_switch)"
};
@@ -90,12 +108,12 @@ xkb_symbols "basic" {
partial alphanumeric_keys modifier_keys
xkb_symbols "apostrophe" {
- include "lv(basic)"
+ include "lv(basic)"
- name[Group1]= "Latvia - Apostrophe (') variant";
+ name[Group1]= "Latvian (apostrophe variant)";
- key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
- key <SPCE> {[space, space, apostrophe]};
+ key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
+ key <SPCE> {[space, space, apostrophe]};
modifier_map Mod5 { <AC11> };
};
@@ -103,12 +121,12 @@ xkb_symbols "apostrophe" {
partial alphanumeric_keys modifier_keys
xkb_symbols "tilde" {
- include "lv(basic)"
+ include "lv(basic)"
- name[Group1]= "Latvia - Tilde (~) variant";
+ name[Group1]= "Latvian (tilde variant)";
- key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
- key <SPCE> {[space, space, asciitilde]};
+ key <TLDE> {[ISO_Level3_Latch, asciitilde, grave, acute]};
+ key <SPCE> {[space, space, asciitilde]};
modifier_map Mod5 { <TLDE> };
};
@@ -116,12 +134,388 @@ xkb_symbols "tilde" {
partial alphanumeric_keys modifier_keys
xkb_symbols "fkey" {
- include "lv(basic)"
+ include "lv(basic)"
- name[Group1]= "Latvia - F-letter (F) variant";
+ name[Group1]= "Latvian (F variant)";
- key <AC04> {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]};
- key <SPCE> {[space, space, f, F]};
+ key <AC04> {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]};
+ key <SPCE> {[space, space, f, F]};
modifier_map Mod5 { <AC04> };
};
+
+//============================================================================
+// Latvian Adapted keyboard layout
+// http://odo.lv/xwiki/bin/download/Main/LatvianKeyboard/Adapted.png
+//
+// http://odo.lv/LatvianKeyboard
+// http://odo.lv/LatvianKeyboard5
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "adapted" {
+
+ include "lv(basic)"
+
+ name[Group1]= "Latvian (adapted)";
+
+ key <AE02> {[ 2, Ccaron, at, twosuperior ]};
+ key <AE03> {[ 3, ccaron, numbersign, threesuperior ]};
+ key <AE04> {[ 4, Zcaron, dollar, EuroSign ]};
+ key <AE05> {[ 5, zcaron, percent, onehalf ]};
+
+ key <AD01> {[ scaron, Scaron, q, Q ]};
+ key <AD02> {[ emacron, Emacron, w, W ]};
+ key <AD03> {[ e, E, e, E ]};
+
+ key <AD06> {[ amacron, Amacron, y, Y ]};
+ key <AD07> {[ u, U, u, U ]};
+ key <AD08> {[ i, I, i, I ]};
+ key <AD11> {[ umacron, Umacron, bracketleft, braceleft ]};
+ key <AD12> {[ ncedilla, Ncedilla, bracketright, braceright ]};
+
+ key <AC01> {[ a, A, a, A ]};
+ key <AC02> {[ s, S, s, S ]};
+ key <AC05> {[ g, G, g, G ]};
+
+ key <AC08> {[ k, K, k, K ]};
+ key <AC09> {[ l, L, l, L ]};
+ key <AC10> {[ imacron, Imacron, semicolon, colon ]};
+
+ key <AB01> {[ z, Z, z, Z ]};
+ key <AB02> {[ kcedilla, Kcedilla, x, X ]};
+ key <AB03> {[ c, C, c, C ]};
+
+ key <AB06> {[ n, N, n, N ]};
+
+ key <AB08> {[ comma, gcedilla, less, multiply ]};
+ key <AB09> {[ period, Gcedilla, greater, division ]};
+ key <AB10> {[ lcedilla, Lcedilla, slash, question ]};
+};
+
+//============================================================================
+// Latvian Ergonomic (ŪGJRMV) keyboard layout by Valdis Vītoliņš
+// http://odo.lv/xwiki/bin/download/Main/LatvianKeyboard/Ergonomic.png
+//
+// http://odo.lv/LatvianKeyboard
+// http://odo.lv/LatvianKeyboard5
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ergonomic" {
+
+ include "lv(apostrophe)"
+
+ name[Group1]= "Latvian (ergonomic, ŪGJRMV)";
+
+ key <AE02> {[ 2, at, gcedilla, Gcedilla ]};
+
+ key <AE11> {[ minus, underscore, endash, emdash ]};
+ key <AE12> {[ f, F, equal, plus ]};
+
+ key <AD01> {[ umacron, Umacron, q, Q ]};
+ key <AD02> {[ g, G, g, G ]};
+ key <AD03> {[ j, J, j, J ]};
+ key <AD04> {[ r, R, rcedilla, Rcedilla ]};
+ key <AD05> {[ m, M, m, M ]};
+ key <AD06> {[ v, V, w, W ]};
+ key <AD07> {[ n, N, y, Y ]};
+ key <AD08> {[ z, Z, z, Z ]};
+ key <AD09> {[ emacron, Emacron, emacron, Emacron ]};
+ key <AD10> {[ ccaron, Ccaron, ccaron, Ccaron ]};
+ key <AD11> {[ zcaron, Zcaron, bracketleft, braceleft ]};
+ key <AD12> {[ h, H, bracketright, braceright ]};
+
+ key <AC01> {[ scaron, Scaron, scaron, Scaron ]};
+ key <AC02> {[ u, U, u, U ]};
+ key <AC03> {[ s, S, s, S ]};
+ key <AC04> {[ i, I, i, I ]};
+ key <AC05> {[ l, L, l, L ]};
+ key <AC06> {[ d, D, d, D ]};
+ key <AC07> {[ a, A, a, A ]};
+ key <AC08> {[ t, T, t, T ]};
+ key <AC09> {[ e, E, e, E ]};
+ key <AC10> {[ c, C, c, C ]};
+ key <AC11> {[ ISO_Level3_Latch, quotedbl, apostrophe, quotedbl ]};
+ key <AC12> {[ kcedilla, Kcedilla, slash, backslash ]};
+
+ key <LSGT> {[ gcedilla, Gcedilla, gcedilla, Gcedilla ]};
+ key <AB01> {[ ncedilla, Ncedilla, ncedilla, Ncedilla ]};
+ key <AB02> {[ b, B, x, X ]};
+ key <AB03> {[ imacron, Imacron, imacron, Imacron ]};
+ key <AB04> {[ k, K, k, K ]};
+ key <AB05> {[ p, P, p, P ]};
+ key <AB06> {[ o, O, omacron, Omacron ]};
+ key <AB07> {[ amacron, Amacron, amacron, Amacron ]};
+ key <AB08> {[ comma, semicolon, less, multiply ]};
+ key <AB09> {[ period, colon, greater, division ]};
+ key <AB10> {[ lcedilla, Lcedilla, question, slash ]};
+};
+
+//============================================================================
+// Latvian Modern keyboard layout by Valdis Vītoliņš
+// http://odo.lv/xwiki/bin/download/Recipes/LatvianKeyboard/Modern.png
+//
+// http://odo.lv/LatvianKeyboard
+// http://odo.lv/LatvianKeyboard5
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "modern" {
+
+ name[Group1]= "Latvian (modern)";
+
+ key <TLDE> {[ grave, asciitilde, acute, asciitilde ]};
+ key <AE01> {[ 1, exclam, onesuperior, exclamdown ]};
+ key <AE02> {[ 2, at, twosuperior, oneeighth ]};
+ key <AE03> {[ 3, numbersign, threesuperior, sterling ]};
+ key <AE04> {[ 4, dollar, EuroSign, cent ]};
+ key <AE05> {[ 5, percent, onehalf, threeeighths ]};
+ key <AE06> {[ 6, asciicircum, threequarters, fiveeighths ]};
+ key <AE07> {[ 7, ampersand, braceleft, seveneighths ]};
+ key <AE08> {[ 8, asterisk, bracketleft, trademark ]};
+ key <AE09> {[ 9, parenleft, bracketright, plusminus ]};
+ key <AE10> {[ 0, parenright, braceright, degree ]};
+ key <AE11> {[ minus, underscore, backslash, endash ]};
+ key <AE12> {[ equal, plus, bar, emdash ]};
+
+ key <AD01> {[ emacron, Emacron, emacron, Emacron ]};
+ key <AD02> {[ o, O, omacron, Omacron ]};
+ key <AD03> {[ amacron, Amacron, amacron, Amacron ]};
+ key <AD04> {[ p, P, p, P ]};
+ key <AD05> {[ b, B, b, B ]};
+ key <AD06> {[ j, J, j, J ]};
+ key <AD07> {[ d, D, d, D ]};
+ key <AD08> {[ imacron, Imacron, imacron, Imacron ]};
+ key <AD09> {[ l, L, lcedilla, Lcedilla ]};
+ key <AD10> {[ g, G, gcedilla, Gcedilla ]};
+ key <AD11> {[ bracketleft, braceleft, guillemotleft, leftdoublequotemark ]};
+ key <AD12> {[ bracketright, braceright, guillemotright, rightdoublequotemark ]};
+
+ key <AC01> {[ e, E, e, E ]};
+ key <AC02> {[ u, U, umacron, Umacron ]};
+ key <AC03> {[ a, A, a, A ]};
+ key <AC04> {[ n, N, ncedilla, Ncedilla ]};
+ key <AC05> {[ k, K, kcedilla, Kcedilla ]};
+ key <AC06> {[ ISO_Level3_Latch, quotedbl, apostrophe, quotedbl ]};
+ key <AC07> {[ s, S, scaron, Scaron ]};
+ key <AC08> {[ i, I, i, I ]};
+ key <AC09> {[ t, T, t, T ]};
+ key <AC10> {[ r, R, rcedilla, Rcedilla ]};
+ key <AC11> {[ m, M, m, M ]};
+ key <AC12> {[ slash, question, backslash, bar ]};
+
+ key <LSGT> {[ q, Q, q, Q ]};
+ key <AB01> {[ x, X, q, Q ]};
+ key <AB02> {[ z, Z, zcaron, Zcaron ]};
+ key <AB03> {[ c, C, ccaron, Ccaron ]};
+ key <AB04> {[ v, V, v, V ]};
+ key <AB05> {[ w, W, w, W ]};
+ key <AB06> {[ f, F, f, F ]};
+ key <AB07> {[ y, Y, y, Y ]};
+ key <AB08> {[ h, H, h, H ]};
+ key <AB09> {[ comma, semicolon, less, multiply ]};
+ key <AB10> {[ period, colon, greater, division ]};
+ key <SPCE> {[ space, space, apostrophe ]};
+
+ modifier_map Mod5 { <AC06> };
+
+ include "level3(ralt_switch)"
+};
+
+// EXTRAS:
+
+//============================================================================
+// US Dvorak compatible Latvian layout
+// http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "dvorak" {
+
+ name[Group1]= "Latvian (US Dvorak)";
+
+ key <TLDE> {[ asciitilde, grave, acute, asciitilde ]};
+ key <AE01> {[ 1, exclam, onesuperior, exclamdown ]};
+ key <AE02> {[ 2, at, twosuperior, oneeighth ]};
+ key <AE03> {[ 3, numbersign, threesuperior, sterling ]};
+ key <AE04> {[ 4, dollar, EuroSign, cent ]};
+ key <AE05> {[ 5, percent, onehalf, threeeighths ]};
+ key <AE06> {[ 6, asciicircum, threequarters, fiveeighths ]};
+ key <AE07> {[ 7, ampersand, braceleft, seveneighths ]};
+ key <AE08> {[ 8, asterisk, bracketleft, trademark ]};
+ key <AE09> {[ 9, parenleft, bracketright, plusminus ]};
+ key <AE10> {[ 0, parenright, braceright, degree ]};
+ key <AE11> {[ bracketleft, braceleft, leftdoublequotemark, guillemotleft ]};
+ key <AE12> {[ bracketright, braceright, rightdoublequotemark, guillemotright ]};
+
+ key <AD01> {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]};
+ key <AD02> {[ comma, less, guillemotleft, multiply ]};
+ key <AD03> {[ period, greater, guillemotright, division ]};
+ key <AD04> {[ p, P, p, P ]};
+ key <AD05> {[ y, Y, y, Y ]};
+ key <AD06> {[ f, F, f, F ]};
+ key <AD07> {[ g, G, gcedilla, Gcedilla ]};
+ key <AD08> {[ c, C, ccaron, Ccaron ]};
+ key <AD09> {[ r, R, rcedilla, Rcedilla ]};
+ key <AD10> {[ l, L, lcedilla, Lcedilla ]};
+ key <AD11> {[ slash, question, slash, abovedot ]};
+ key <AD12> {[ equal, plus, endash, emdash ]};
+
+ key <AC01> {[ a, A, amacron, Amacron ]};
+ key <AC02> {[ o, O, omacron, Omacron ]};
+ key <AC03> {[ e, E, emacron, Emacron ]};
+ key <AC04> {[ u, U, umacron, Umacron ]};
+ key <AC05> {[ i, I, imacron, Imacron ]};
+ key <AC06> {[ d, D, d, D ]};
+ key <AC07> {[ h, H, h, H ]};
+ key <AC08> {[ t, T, t, T ]};
+ key <AC09> {[ n, N, ncedilla, Ncedilla ]};
+ key <AC10> {[ s, S, scaron, Scaron ]};
+ key <AC11> {[ minus, underscore, backslash, questiondown ]};
+
+ key <AB01> {[ semicolon, colon, semicolon, colon ]};
+ key <AB02> {[ q, Q, q, Q ]};
+ key <AB03> {[ j, J, j, J ]};
+ key <AB04> {[ k, K, kcedilla, Kcedilla ]};
+ key <AB05> {[ x, X, x, X ]};
+ key <AB06> {[ b, B, b, B ]};
+ key <AB07> {[ m, M, m, M ]};
+ key <AB08> {[ w, W, w, W ]};
+ key <AB09> {[ v, V, v, V ]};
+ key <AB10> {[ z, Z, zcaron, Zcaron ]};
+
+ key <BKSL> {[ backslash, bar, grave, breve ]};
+
+ key <SPCE> {[ space, space, space, space ]};
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ykeydvorak" {
+
+ include "lv(dvorak)"
+
+ name[Group1]= "Latvian (US Dvorak, Y variant)";
+
+ key <AD05> {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]};
+ key <SPCE> {[space, space, y, Y]};
+ modifier_map Mod5 { <AD05> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "minuskeydvorak" {
+
+ include "lv(dvorak)"
+
+ name[Group1]= "Latvian (US Dvorak, minus variant)";
+
+ key <AC11> {[ISO_Level3_Latch, ISO_Level3_Latch, mimus, underscore]};
+ key <SPCE> {[space, space, minus, underscore]};
+ modifier_map Mod5 { <AR11> };
+
+};
+
+//============================================================================
+// US Dvorak programmers layput compatible Latvian layout
+// http://www.kaufmann.no/roland/dvorak/
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "dvorakprogr" {
+
+ include "lv(dvorak)"
+
+ name[Group1]= "Latvian (programmer US Dvorak)";
+
+ key <TLDE> {[ dollar, asciitilde, EuroSign, cent ]};
+ key <AE01> {[ ampersand, percent, acute, asciitilde ]};
+ key <AE02> {[ bracketleft, 7, onesuperior, twosuperior ]};
+ key <AE03> {[ braceleft, 5, guillemotleft, leftdoublequotemark ]};
+ key <AE04> {[ braceright, 3, guillemotright, rightdoublequotemark ]};
+ key <AE05> {[ parenleft, 1, onehalf, threeeighths ]};
+ key <AE06> {[ equal, 9, threequarters, fiveeighths ]};
+ key <AE07> {[ asterisk, 0, degree, copyright ]};
+ key <AE08> {[ parenright, 2, endash, emdash ]};
+ key <AE09> {[ plus, 4, plusminus, section ]};
+ key <AE10> {[ bracketright, 6, registered, trademark ]};
+ key <AE11> {[ exclam, 8, exclam, exclamdown ]};
+ key <AE12> {[ numbersign, grave, Greek_alpha, Greek_beta ]};
+
+ key <AD01> {[ semicolon, colon, semicolon, colon ]};
+ key <AD12> {[ at, asciicircum, at, asciicircum ]};
+
+ key <AB01> {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]};
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "ykeydvorakprogr" {
+
+ include "lv(dvorakprogr)"
+
+ name[Group1]= "Latvian (programmer US-Dvorak, Y variant)";
+
+ key <AD05> {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]};
+ key <SPCE> {[space, space, y, Y]};
+ modifier_map Mod5 { <AD05> };
+
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "minuskeydvorakprogr" {
+
+ include "lv(dvorakprogr)"
+
+ name[Group1]= "Latvian (programmer US Dvorak, minus variant)";
+
+ key <AC11> {[ISO_Level3_Latch, ISO_Level3_Latch, mimus, underscore]};
+ key <SPCE> {[space, space, minus, underscore]};
+ modifier_map Mod5 { <AC11> };
+
+};
+
+//============================================================================
+// Colemak compatible Latvian layout
+// http://colemak.com/
+//
+partial alphanumeric_keys modifier_keys
+xkb_symbols "colemak" {
+
+ include "lv(basic)"
+
+ name[Group1]= "Latvian (US Colemak)";
+
+ key <AD03> {[ f, F, f, F ]};
+ key <AD04> {[ p, P, p, P ]};
+ key <AD05> {[ g, G, gcedilla, Gcedilla ]};
+ key <AD06> {[ j, J, j, J ]};
+ key <AD07> {[ l, L, lcedilla, Lcedilla ]};
+ key <AD08> {[ u, U, umacron, Umacron ]};
+ key <AD09> {[ y, Y, y, Y ]};
+ key <AD10> {[ semicolon, colon, semicolon, colon ]};
+
+ key <AC02> {[ r, R, rcedilla, Rcedilla ]};
+ key <AC03> {[ s, S, scaron, Scaron ]};
+ key <AC04> {[ t, T, t, T ]};
+ key <AC05> {[ d, D, d, D ]};
+ key <AC07> {[ n, N, ncedilla, Ncedilla ]};
+ key <AC08> {[ e, E, emacron, Emacron ]};
+ key <AC09> {[ i, I, imacron, Imacron ]};
+ key <AC10> {[ o, O, omacron, Omacron ]};
+
+ key <AB06> {[ k, K, kcedilla, Kcedilla ]};
+
+ include "level3(ralt_switch)"
+};
+
+partial alphanumeric_keys modifier_keys
+xkb_symbols "apostrophecolemak" {
+
+ include "lv(colemak)"
+
+ name[Group1]= "Latvian (US Colemak, apostrophe variant)";
+
+ key <AC11> {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]};
+ key <SPCE> {[space, space, apostrophe]};
+ modifier_map Mod5 { <AC11> };
+
+};
diff --git a/xorg-server/xkeyboard-config/symbols/me b/xorg-server/xkeyboard-config/symbols/me
index 3f1733199..2c8e49ed3 100644
--- a/xorg-server/xkeyboard-config/symbols/me
+++ b/xorg-server/xkeyboard-config/symbols/me
@@ -6,47 +6,47 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
include "rs(latin)"
- name[Group1]= "Montenegro";
+ name[Group1]= "Montenegrin";
};
partial alphanumeric_keys
xkb_symbols "cyrillic" {
include "rs(basic)"
- name[Group1]= "Montenegro - Cyrillic";
+ name[Group1]= "Montenegrin (Cyrillic)";
};
partial alphanumeric_keys
xkb_symbols "cyrillicyz" {
include "rs(yz)"
- name[Group1]= "Montenegro - Cyrillic, Z and ZHE swapped";
+ name[Group1]= "Montenegrin (Cyrillic, Z and ZHE swapped)";
};
partial alphanumeric_keys
xkb_symbols "latinunicode" {
include "rs(latinunicode)"
- name[Group1]= "Montenegro - Latin unicode";
+ name[Group1]= "Montenegrin (Latin unicode)";
};
partial alphanumeric_keys
xkb_symbols "latinyz" {
include "rs(latinyz)"
- name[Group1]= "Montenegro - Latin qwerty";
+ name[Group1]= "Montenegrin (Latin qwerty)";
};
partial alphanumeric_keys
xkb_symbols "latinunicodeyz" {
include "rs(latinunicodeyz)"
- name[Group1]= "Montenegro - Latin unicode qwerty";
+ name[Group1]= "Montenegrin (Latin unicode qwerty)";
};
xkb_symbols "cyrillicalternatequotes" {
include "rs(alternatequotes)"
- name[Group1]= "Montenegro - Cyrillic with guillemets";
+ name[Group1]= "Montenegrin (Cyrillic with guillemets)";
};
xkb_symbols "latinalternatequotes" {
include "rs(latinalternatequotes)"
- name[Group1]= "Montenegro - Latin with guillemets";
+ name[Group1]= "Montenegrin (Latin with guillemets)";
};
diff --git a/xorg-server/xkeyboard-config/symbols/mk b/xorg-server/xkeyboard-config/symbols/mk
index c8acb1e39..e99fdabae 100644
--- a/xorg-server/xkeyboard-config/symbols/mk
+++ b/xorg-server/xkeyboard-config/symbols/mk
@@ -4,7 +4,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Macedonia";
+ name[Group1]= "Macedonian";
key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] };
key <AC02> { [ Cyrillic_es, Cyrillic_ES ] };
@@ -60,6 +60,6 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "nodeadkeys" {
include "mk(basic)"
- name[Group1]= "Macedonia - Eliminate dead keys";
+ name[Group1]= "Macedonian (eliminate dead keys)";
key <TLDE> { [ grave, asciitilde ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/ml b/xorg-server/xkeyboard-config/symbols/ml
index 741d6a206..ef79768e1 100644
--- a/xorg-server/xkeyboard-config/symbols/ml
+++ b/xorg-server/xkeyboard-config/symbols/ml
@@ -3,7 +3,7 @@ xkb_symbols "basic" {
include "fr(basic)"
- name[Group1]="Mali";
+ name[Group1]="Bambara";
key <AB06> { [ n, N, U0272, U019D ] }; // n N ɲ Ɲ
key <AC02> { [ s, S, U0161, U0160 ] }; // s S š Š
@@ -19,7 +19,7 @@ xkb_symbols "fr-oss" {
include "fr(oss)"
- name[Group1]="Mali - Français (France Alternative)";
+ name[Group1]="French (Mali, alternative)";
// š Š on d replaces ë Ë
// ɲ Ɲ on j replaces ü Ü
@@ -41,7 +41,7 @@ xkb_symbols "us-mac" {
include "us(mac)"
- name[Group1]="Mali - English (USA Macintosh)";
+ name[Group1]="English (Mali, US Macintosh)";
// ž Ž on z replaces Ω ¸
// ɛ Ɛ on a replaces å Å
@@ -64,7 +64,7 @@ xkb_symbols "us-intl" {
include "us(intl)"
- name[Group1]="Mali - English (USA International)";
+ name[Group1]="English (Mali, US international)";
// ž Ž on x replaces
// š Š on s replaces ß §
diff --git a/xorg-server/xkeyboard-config/symbols/mm b/xorg-server/xkeyboard-config/symbols/mm
index de854855e..245f4eca9 100644
--- a/xorg-server/xkeyboard-config/symbols/mm
+++ b/xorg-server/xkeyboard-config/symbols/mm
@@ -1,6 +1,6 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Myanmar";
+ name[Group1]= "Burmese";
// Alphanumeric section
key <TLDE> { [ U1050, U100E, grave, asciitilde ] };
diff --git a/xorg-server/xkeyboard-config/symbols/mn b/xorg-server/xkeyboard-config/symbols/mn
index 462a953e8..77498448c 100644
--- a/xorg-server/xkeyboard-config/symbols/mn
+++ b/xorg-server/xkeyboard-config/symbols/mn
@@ -6,7 +6,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Mongolia";
+ name[Group1]= "Mongolian";
key <TLDE> { [ equal, plus, degree ] };
key <AE01> { [ 1, numerosign, multiply ] };
diff --git a/xorg-server/xkeyboard-config/symbols/mt b/xorg-server/xkeyboard-config/symbols/mt
index 87307cadb..5cda04d29 100644
--- a/xorg-server/xkeyboard-config/symbols/mt
+++ b/xorg-server/xkeyboard-config/symbols/mt
@@ -6,7 +6,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1]="Malta";
+ name[Group1]="Maltese";
// Copied from GB layout
key <AE02> { [ 2, quotedbl, twosuperior, oneeighth ] };
@@ -48,7 +48,7 @@ xkb_symbols "us" {
// Describes the differences between the mt
// keyboard and a US-based physical keyboard
- name[Group1]="Malta - Maltese keyboard with US layout";
+ name[Group1]="Maltese (with US layout)";
// The following four sets are the four additional letters, with the US
// equivalents
diff --git a/xorg-server/xkeyboard-config/symbols/mv b/xorg-server/xkeyboard-config/symbols/mv
index 1cbea3586..df474f4b8 100644
--- a/xorg-server/xkeyboard-config/symbols/mv
+++ b/xorg-server/xkeyboard-config/symbols/mv
@@ -6,7 +6,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]="Maldives";
+ name[Group1]="Dhivehi";
// The key <TLDE> should have the same values as US_en keyboard
diff --git a/xorg-server/xkeyboard-config/symbols/ng b/xorg-server/xkeyboard-config/symbols/ng
index 96a569d3a..4bcb4a7ea 100644
--- a/xorg-server/xkeyboard-config/symbols/ng
+++ b/xorg-server/xkeyboard-config/symbols/ng
@@ -3,7 +3,7 @@ xkb_symbols "basic" {
include "us"
- name[Group1]= "Nigeria";
+ name[Group1]= "English (Nigeria)";
key <AE04> { [ 4, 0x010020A6, dollar, cent ] };
include "level3(ralt_switch)"
};
@@ -12,7 +12,7 @@ partial alphanumeric_keys
xkb_symbols "yoruba" {
include "ng(basic)"
- name[Group1]= "Nigeria - Yoruba";
+ name[Group1]= "Yoruba";
key <AD01> { [ 0x01001EB9, 0x01001EB8, q, Q ] };
key <AB02> { [ 0x01001ECD, 0x01001ECC, x, X ] };
@@ -23,7 +23,7 @@ partial alphanumeric_keys
xkb_symbols "igbo" {
include "ng(basic)"
- name[Group1]= "Nigeria - Igbo";
+ name[Group1]= "Igbo";
key <AD01> { [ 0x01001ECB, 0x01001ECA, q, Q ] };
key <AB02> { [ 0x01001E45, 0x01001E44, x, X ] };
@@ -35,7 +35,7 @@ partial alphanumeric_keys
xkb_symbols "hausa" {
include "ng(basic)"
- name[Group1]= "Nigeria - Hausa";
+ name[Group1]= "Hausa";
key <AD01> { [ 0x01000071, 0x01000051, q, Q ] };
key <AD02> { [ udiaeresis, Udiaeresis, w, W ] };
diff --git a/xorg-server/xkeyboard-config/symbols/no b/xorg-server/xkeyboard-config/symbols/no
index 9515be154..2dc0e6ea9 100644
--- a/xorg-server/xkeyboard-config/symbols/no
+++ b/xorg-server/xkeyboard-config/symbols/no
@@ -9,7 +9,7 @@ xkb_symbols "basic" {
include "latin(type2)"
- name[Group1]="Norway";
+ name[Group1]="Norwegian";
key <AB09> { [ period, colon, ellipsis, periodcentered ] };
key <AB10> { [ minus, underscore, endash, emdash ] };
@@ -42,7 +42,7 @@ xkb_symbols "nodeadkeys" {
include "no(basic)"
- name[Group1]="Norway - Eliminate dead keys";
+ name[Group1]="Norwegian (eliminate dead keys)";
key <AE12> { [ backslash, grave, acute, ogonek ] };
key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
@@ -57,7 +57,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
- name[Group1]="Norway - Dvorak";
+ name[Group1]="Norwegian (Dvorak)";
key <TLDE> { [ bar, section, brokenbar, paragraph ] };
@@ -118,7 +118,7 @@ partial alphanumeric_keys
xkb_symbols "smi" {
include "latin"
- name[Group1]= "Norway - Northern Saami";
+ name[Group1]= "Northern Saami (Norway)";
key <AE01> { [ 1, exclam, copyright, exclamdown ] };
key <AE02> { [ 2, quotedbl, at, registered ] };
@@ -181,7 +181,7 @@ xkb_symbols "smi_nodeadkeys" {
include "no(smi)"
- name[Group1]= "Norway - Northern Saami, eliminate dead keys";
+ name[Group1]= "Northern Saami (Norway, eliminate dead keys)";
key <AE12> { [ backslash, grave, acute, ogonek ] };
};
@@ -194,7 +194,7 @@ xkb_symbols "mac" {
// keyboard and a very simple Norwegian keybaord
include "latin(type4)"
- name[Group1]= "Norway - Macintosh";
+ name[Group1]= "Norwegian (Macintosh)";
key <TLDE> { [ bar, section ] };
key <AE03> { [ 3, numbersign, sterling, sterling ] };
@@ -218,7 +218,7 @@ xkb_symbols "mac_nodeadkeys" {
// Modifies the basic Norwegian layout to eliminate dead keys
include "no(mac)"
- name[Group1]= "Norway - Macintosh, eliminate dead keys";
+ name[Group1]= "Norwegian (Macintosh, eliminate dead keys)";
key <AE12> { [ grave, acute, acute, ogonek ] };
key <AD12> { [ diaeresis, asciicircum, asciitilde, macron ] };
diff --git a/xorg-server/xkeyboard-config/symbols/np b/xorg-server/xkeyboard-config/symbols/np
index 9cb14c873..d069c7439 100644
--- a/xorg-server/xkeyboard-config/symbols/np
+++ b/xorg-server/xkeyboard-config/symbols/np
@@ -3,7 +3,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Nepal";
+ name[Group1]= "Nepali";
// `,1,2,3,4,5,6,7,8,9,0,-,=
diff --git a/xorg-server/xkeyboard-config/symbols/ph b/xorg-server/xkeyboard-config/symbols/ph
index 3681562ff..76a5df58a 100644
--- a/xorg-server/xkeyboard-config/symbols/ph
+++ b/xorg-server/xkeyboard-config/symbols/ph
@@ -44,7 +44,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Philippines";
+ name[Group1]= "Filipino";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -139,7 +139,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "qwerty-bay" {
- name[Group1]= "Philippines - QWERTY (Baybayin)";
+ name[Group1]= "Filipino (QWERTY Baybayin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -235,7 +235,7 @@ xkb_symbols "qwerty-bay" {
partial alphanumeric_keys
xkb_symbols "capewell-dvorak" {
- name[Group1]= "Philippines - Capewell-Dvorak (Latin)";
+ name[Group1]= "Filipino (Capewell-Dvorak Latin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -330,7 +330,7 @@ xkb_symbols "capewell-dvorak" {
partial alphanumeric_keys
xkb_symbols "capewell-dvorak-bay" {
- name[Group1]= "Philippines - Capewell-Dvorak (Baybayin)";
+ name[Group1]= "Filipino (Capewell-Dvorak Baybayin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -426,7 +426,7 @@ xkb_symbols "capewell-dvorak-bay" {
partial alphanumeric_keys
xkb_symbols "capewell-qwerf2k6" {
- name[Group1]= "Philippines - Capewell-QWERF 2006 (Latin)";
+ name[Group1]= "Filipino (Capewell-QWERF 2006 Latin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -521,7 +521,7 @@ xkb_symbols "capewell-qwerf2k6" {
partial alphanumeric_keys
xkb_symbols "capewell-qwerf2k6-bay" {
- name[Group1]= "Philippines - Capewell-QWERF 2006 (Baybayin)";
+ name[Group1]= "Filipino (Capewell-QWERF 2006 Baybayin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -617,7 +617,7 @@ xkb_symbols "capewell-qwerf2k6-bay" {
partial alphanumeric_keys
xkb_symbols "colemak" {
- name[Group1]= "Philippines - Colemak (Latin)";
+ name[Group1]= "Filipino (Colemak Latin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -712,7 +712,7 @@ xkb_symbols "colemak" {
partial alphanumeric_keys
xkb_symbols "colemak-bay" {
- name[Group1]= "Philippines - Colemak (Baybayin)";
+ name[Group1]= "Filipino (Colemak Baybayin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -808,7 +808,7 @@ xkb_symbols "colemak-bay" {
partial alphanumeric_keys
xkb_symbols "dvorak" {
- name[Group1]= "Philippines - Dvorak (Latin)";
+ name[Group1]= "Filipino (Dvorak Latin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
@@ -903,7 +903,7 @@ xkb_symbols "dvorak" {
partial alphanumeric_keys
xkb_symbols "dvorak-bay" {
- name[Group1]= "Philippines - Dvorak (Baybayin)";
+ name[Group1]= "Filipino (Dvorak Baybayin)";
// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------|
// Level1 Level2 Level3 Level4
diff --git a/xorg-server/xkeyboard-config/symbols/pk b/xorg-server/xkeyboard-config/symbols/pk
index 586215958..784d74a1c 100644
--- a/xorg-server/xkeyboard-config/symbols/pk
+++ b/xorg-server/xkeyboard-config/symbols/pk
@@ -10,7 +10,7 @@
partial default alphanumeric_keys
xkb_symbols "urd-phonetic" {
- name[Group1]= "Pakistan";
+ name[Group1]= "Urdu (Pakistan)";
key <TLDE> { [ 0x100064b , 0x100007E, 0x100200C ] };
key <AE01> { [ 0x1000031 , 0x1000021 ] };
@@ -73,7 +73,7 @@ xkb_symbols "urd-phonetic" {
partial alphanumeric_keys
xkb_symbols "urd-crulp" {
- name[Group1]= "Pakistan - CRULP";
+ name[Group1]= "Urdu (Pakistan, CRULP)";
// www.crulp.org phonetic v1.1
key <TLDE> { [ 0x100007E , 0x100064B ] };
@@ -137,7 +137,7 @@ xkb_symbols "urd-crulp" {
partial alphanumeric_keys
xkb_symbols "urd-nla" {
- name[Group1]= "Pakistan - NLA";
+ name[Group1]= "Urdu (Pakistan, NLA)";
// www.nla.gov.pk
key <TLDE> { [ 0x1000060 , 0x100007E, 0x100200C ] };
@@ -199,7 +199,7 @@ xkb_symbols "urd-nla" {
partial alphanumeric_keys
xkb_symbols "snd" {
- name[Group1]= "Pakistan - Sindhi";
+ name[Group1]= "Sindhi";
// www.bhurgri.com
key <TLDE> { [ 0x1002019, 0x1002018 ] };
@@ -260,7 +260,7 @@ xkb_symbols "snd" {
partial alphanumeric_keys
xkb_symbols "ara" {
- name[Group1]= "Pakistan - Arabic";
+ name[Group1]= "Arabic (Pakistan)";
// NOTES:
//
@@ -331,7 +331,7 @@ xkb_symbols "olpc" {
include "pk(ara)"
- name[Group1]= "Pakistan";
+ name[Group1]= "Urdu (Pakistan)";
// Keys '~' - '='
key <TLDE> { [ 0x1000654, 0x100064B ] };
diff --git a/xorg-server/xkeyboard-config/symbols/pl b/xorg-server/xkeyboard-config/symbols/pl
index a90198e78..3bf787217 100644
--- a/xorg-server/xkeyboard-config/symbols/pl
+++ b/xorg-server/xkeyboard-config/symbols/pl
@@ -5,7 +5,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1]="Poland";
+ name[Group1]="Polish";
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
@@ -34,7 +34,7 @@ xkb_symbols "qwertz" {
include "latin(type3)"
- name[Group1]="Poland - qwertz";
+ name[Group1]="Polish (qwertz)";
key <AE01> { [ 1, exclam, asciitilde, exclamdown ] };
key <AE02> { [ 2, quotedbl, dead_caron, oneeighth ] };
@@ -87,7 +87,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak" {
include "us(dvorak)"
- name[Group1] = "Poland - Dvorak";
+ name[Group1] = "Polish (Dvorak)";
key <AD08> { [ c, C, cacute, Cacute ] };
key <AD10> { [ l, L, lstroke, Lstroke ] };
@@ -113,7 +113,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak_quotes" {
include "pl(dvorak)"
- name[Group1] = "Poland - Dvorak, Polish quotes on quotemark key";
+ name[Group1] = "Polish (Dvorak, Polish quotes on quotemark key)";
key <AD01> { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] };
@@ -126,7 +126,7 @@ partial alphanumeric_keys
xkb_symbols "dvorak_altquotes" {
include "pl(dvorak)"
- name[Group1] = "Poland - Dvorak, Polish quotes on key 1";
+ name[Group1] = "Polish (Dvorak, Polish quotes on key 1)";
key <AE01> { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] };
};
@@ -161,7 +161,7 @@ partial alphanumeric_keys
xkb_symbols "dvp" {
include "us(dvp)"
- name[Group1] = "Poland - Programmer Dvorak";
+ name[Group1] = "Polish (programmer Dvorak)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
@@ -211,7 +211,7 @@ xkb_symbols "csb" {
include "latin"
- name[Group1]="Poland - Kashubian";
+ name[Group1]="Kashubian";
key <AD01> { [ q, Q ] };
key <AD02> { [ w, W ] };
@@ -312,7 +312,7 @@ partial alphanumeric_keys
xkb_symbols "ru_phonetic_dvorak" {
include "us(dvorak)"
- name[Group1] = "Poland - Russian phonetic Dvorak";
+ name[Group1] = "Russian (Poland, phonetic Dvorak)";
// lower row
key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] };
diff --git a/xorg-server/xkeyboard-config/symbols/pt b/xorg-server/xkeyboard-config/symbols/pt
index 7ce8ef5ce..5f35023c7 100644
--- a/xorg-server/xkeyboard-config/symbols/pt
+++ b/xorg-server/xkeyboard-config/symbols/pt
@@ -47,7 +47,7 @@ xkb_symbols "nodeadkeys" {
include "pt(basic)" // for consistent naming
- name[Group1]="Portugal - Eliminate dead keys";
+ name[Group1]="Portuguese (eliminate dead keys)";
key <AE12> { [guillemotleft, guillemotright, cedilla, ogonek ] };
key <AD11> { [ plus, asterisk, quotedbl, quotedbl ] };
@@ -67,7 +67,7 @@ xkb_symbols "mac" {
// keyboard and a very simple Portuguese keybaord
include "pt"
- name[Group1]= "Portugal - Macintosh";
+ name[Group1]= "Portuguese (Macintosh)";
key <AE06> { [ 6, ampersand, threequarters, fiveeighths ] };
key <AE08> { [ 8, parenleft, bracketleft, braceleft ] };
@@ -82,7 +82,7 @@ xkb_symbols "mac" {
partial alphanumeric_keys
xkb_symbols "mac_sundeadkeys" {
include "pt(mac)"
- name[Group1]= "Portugal - Macintosh, Sun dead keys";
+ name[Group1]= "Portuguese (Macintosh, Sun dead keys)";
key <AE12> { [ plus, asterisk, dead_diaeresis, dead_diaeresis ] };
key <AC11> { [ dead_tilde, dead_circumflex ] };
@@ -92,7 +92,7 @@ xkb_symbols "mac_sundeadkeys" {
partial alphanumeric_keys
xkb_symbols "mac_nodeadkeys" {
include "pt(mac)"
- name[Group1]= "Portugal - Macintosh, eliminate dead keys";
+ name[Group1]= "Portuguese (Macintosh, eliminate dead keys)";
key <AE12> { [ plus, asterisk, quotedbl, quotedbl ] };
key <AC11> { [ asciitilde, asciicircum ] };
@@ -110,7 +110,7 @@ xkb_symbols "mac_nodeadkeys" {
partial alphanumeric_keys
xkb_symbols "nativo" {
- name[Group1]="Portugal - Nativo";
+ name[Group1]="Portuguese (Nativo)";
// Numeric row
key <TLDE> { [ plus, asterisk, dead_diaeresis, plusminus ] };
@@ -186,7 +186,7 @@ partial alphanumeric_keys
xkb_symbols "nativo-us" {
include "pt(nativo)"
- name[Group1]="Portugal - Nativo for USA keyboards";
+ name[Group1]="Portuguese (Nativo for USA keyboards)";
// Lower row
key <AB01> { [ y, Y, ccedilla, Ccedilla ] };
@@ -205,7 +205,7 @@ partial alphanumeric_keys
xkb_symbols "nativo-epo" {
include "pt(nativo)"
- name[Group1]="Portugal - Nativo for Esperanto";
+ name[Group1]="Esperanto (Portugal, Nativo)";
// Upper row Esperanto
key <AD04> { [ h, H, hcircumflex, Hcircumflex ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ro b/xorg-server/xkeyboard-config/symbols/ro
index 483b5c6a0..e71d40b0a 100644
--- a/xorg-server/xkeyboard-config/symbols/ro
+++ b/xorg-server/xkeyboard-config/symbols/ro
@@ -25,7 +25,7 @@ xkb_symbols "basic" {
include "us"
- name[Group1]="Romania";
+ name[Group1]="Romanian";
key <AE01> { [ 1, exclam, dead_tilde ] };
key <AE02> { [ 2, at, dead_caron ] };
@@ -67,7 +67,7 @@ xkb_symbols "cedilla" {
include "ro(basic)"
- name[Group1]="Romania - Cedilla";
+ name[Group1]="Romanian (cedilla)";
key <AD05> { [ t, T, tcedilla, Tcedilla ] };
key <AC02> { [ s, S, scedilla, Scedilla ] };
@@ -82,7 +82,7 @@ xkb_symbols "std" {
include "us"
- name[Group1]="Romania - Standard";
+ name[Group1]="Romanian (standard)";
key <TLDE> { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] };
key <AE01> { [ 1, exclam, dead_tilde ] };
@@ -126,7 +126,7 @@ xkb_symbols "std_cedilla" {
include "ro(std)"
- name[Group1]="Romania - Standard (Cedilla)";
+ name[Group1]="Romanian (standard cedilla)";
key <AC10> { [ scedilla, Scedilla ] };
key <AC11> { [ tcedilla, Tcedilla ] };
@@ -141,7 +141,7 @@ xkb_symbols "winkeys" {
include "latin"
- name[Group1]="Romania - Winkeys";
+ name[Group1]="Romanian (WinKeys)";
// Alphanumeric section
key <TLDE> { [ bracketright, bracketleft ] };
@@ -202,7 +202,7 @@ xkb_symbols "crh_dobruja" {
include "tr(crh)"
- name[Group1]="Romania - Crimean Tatar (Dobruja Q)";
+ name[Group1]="Crimean Tatar (Dobruja Q)";
key <AD02> { [ w, W, abreve, Abreve ] };
key <AD05> { [ t, T, 0x100021b, 0x100021a ] };
@@ -224,7 +224,7 @@ xkb_symbols "ergonomic" {
include "ro(basic)"
- name[Group1]="Romania - Ergonomic Touchtype";
+ name[Group1]="Romanian (ergonomic Touchtype)";
key <AD01> { [ abreve, Abreve, q, Q ] };
key <AD02> { [ 0x1000219, 0x1000218, w, W ] };
diff --git a/xorg-server/xkeyboard-config/symbols/rs b/xorg-server/xkeyboard-config/symbols/rs
index 1797542d0..b6d27457f 100644
--- a/xorg-server/xkeyboard-config/symbols/rs
+++ b/xorg-server/xkeyboard-config/symbols/rs
@@ -16,7 +16,7 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Serbia";
+ name[Group1]= "Serbian";
include "rs(cyrlevel3)"
include "rs(common)"
@@ -28,7 +28,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "latin" {
- name[Group1]= "Serbia - Latin";
+ name[Group1]= "Serbian (Latin)";
include "latin(type3)"
include "rs(latalpha)"
@@ -42,7 +42,7 @@ partial alphanumeric_keys
xkb_symbols "yz" {
// Cyrillic_zhe and Cyrillic_ze swapped.
- name[Group1]= "Serbia - Z and ZHE swapped";
+ name[Group1]= "Serbian (Z and ZHE swapped)";
include "rs(basic)"
@@ -247,7 +247,7 @@ xkb_symbols "latinunicode" {
// This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj
// as single character). You get the title form with AltGr+Shift.
- name[Group1]= "Serbia - Latin Unicode";
+ name[Group1]= "Serbian (Latin Unicode)";
include "rs(latin)"
include "rs(twoletter)"
@@ -257,7 +257,7 @@ partial alphanumeric_keys
xkb_symbols "latinyz" {
// For those who insist on using "english-position" Z and Y.
- name[Group1]= "Serbia - Latin qwerty";
+ name[Group1]= "Serbian (Latin qwerty)";
include "rs(latin)"
@@ -269,7 +269,7 @@ partial alphanumeric_keys
xkb_symbols "latinunicodeyz" {
// Unicode, ZHE and Z swapped.
- name[Group1]= "Serbia - Latin Unicode qwerty";
+ name[Group1]= "Serbian (Latin Unicode qwerty)";
include "rs(latinunicode)"
@@ -280,7 +280,7 @@ xkb_symbols "latinunicodeyz" {
xkb_symbols "alternatequotes" {
// Another acceptable »pair of quotes« for Serbian
- name[Group1]= "Serbia - With guillemets";
+ name[Group1]= "Serbian (with guillemets)";
include "rs(basic)"
@@ -291,7 +291,7 @@ xkb_symbols "alternatequotes" {
xkb_symbols "latinalternatequotes" {
// Another acceptable »pair of quotes« for Serbian
- name[Group1]= "Serbia - Latin with guillemets";
+ name[Group1]= "Serbian (Latin with guillemets)";
include "rs(latin)"
@@ -304,7 +304,7 @@ xkb_symbols "rue" {
// Croatia by the Rusyn people), based on Ukrainian homophonic.
// Author: Ljubomir J. Papuga (Любомир Я. Папуґа) <papuga.rs@gmail.com>
- name[Group1]= "Serbia - Pannonian Rusyn Homophonic";
+ name[Group1]= "Pannonian Rusyn (homophonic)";
include "ua(homophonic)"
@@ -332,7 +332,7 @@ xkb_symbols "combiningkeys" {
// Raw combining characters instead of dead keys,
// especially good for post-accenting texts.
- name[Group1]= "Serbia - Combining accents instead of dead keys";
+ name[Group1]= "Serbian (combining accents instead of dead keys)";
include "rs(basic)"
diff --git a/xorg-server/xkeyboard-config/symbols/ru b/xorg-server/xkeyboard-config/symbols/ru
index 7d94b4768..70476b4b5 100644
--- a/xorg-server/xkeyboard-config/symbols/ru
+++ b/xorg-server/xkeyboard-config/symbols/ru
@@ -9,7 +9,7 @@ partial default alphanumeric_keys
xkb_symbols "winkeys" {
include "ru(common)"
- name[Group1]= "Russia";
+ name[Group1]= "Russian";
key <AE03> { [ 3, numerosign ] };
key <AE04> { [ 4, semicolon ] };
@@ -84,7 +84,7 @@ partial alphanumeric_keys
xkb_symbols "legacy" {
include "ru(common)"
- name[Group1]= "Russia - Legacy";
+ name[Group1]= "Russian (legacy)";
};
partial alphanumeric_keys
@@ -106,7 +106,7 @@ xkb_symbols "olpc" {
partial alphanumeric_keys
xkb_symbols "typewriter" {
include "ru(common)"
- name[Group1]= "Russia - Typewriter";
+ name[Group1]= "Russian (typewriter)";
key <TLDE> { [ bar, plus ] };
key <AE01> { [ numerosign, 1 ] };
key <AE02> { [ minus, 2 ] };
@@ -130,7 +130,7 @@ xkb_symbols "typewriter" {
partial alphanumeric_keys
xkb_symbols "typewriter-legacy" {
include "ru(common)"
- name[Group1]= "Russia - Typewriter, legacy";
+ name[Group1]= "Russian (typewriter, legacy)";
key <TLDE> { [ apostrophe, quotedbl ] };
key <AE01> { [ exclam, 1 ] };
key <AE02> { [ numerosign, 2 ] };
@@ -151,7 +151,7 @@ xkb_symbols "typewriter-legacy" {
partial alphanumeric_keys
xkb_symbols "phonetic" {
- name[Group1]= "Russia - Phonetic";
+ name[Group1]= "Russian (phonetic)";
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, at ] };
@@ -210,7 +210,7 @@ partial alphanumeric_keys
xkb_symbols "phonetic_winkeys" {
include "ru(phonetic)"
- name[Group1]= "Russia - Phonetic Winkeys";
+ name[Group1]= "Russian (phonetic WinKeys)";
key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
key <LatH> { [ Cyrillic_che, Cyrillic_CHE ] };
@@ -221,7 +221,7 @@ xkb_symbols "phonetic_winkeys" {
partial alphanumeric_keys
xkb_symbols "tt" {
include "ru(winkeys)"
- name[Group1]= "Russia - Tatar";
+ name[Group1]= "Tatar";
key.type[group1]="FOUR_LEVEL";
@@ -246,7 +246,7 @@ partial alphanumeric_keys
xkb_symbols "os_legacy" {
include "ru(common)"
- name[Group1]= "Russia - Ossetian, legacy";
+ name[Group1]= "Ossetian (legacy)";
key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
@@ -257,7 +257,7 @@ partial alphanumeric_keys
xkb_symbols "os_winkeys" {
include "ru(winkeys)"
- name[Group1]= "Russia - Ossetian, Winkeys";
+ name[Group1]= "Ossetian (WinKeys)";
key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
@@ -268,7 +268,7 @@ partial alphanumeric_keys
xkb_symbols "cv" {
include "ru(winkeys)"
- name[Group1]= "Russia - Chuvash";
+ name[Group1]= "Chuvash";
key.type[group1]="FOUR_LEVEL";
@@ -288,7 +288,7 @@ partial alphanumeric_keys
xkb_symbols "udm" {
include "ru(winkeys)"
- name[Group1]= "Russia - Udmurt";
+ name[Group1]= "Udmurt";
key.type[group1]="FOUR_LEVEL";
@@ -310,7 +310,7 @@ partial alphanumeric_keys
xkb_symbols "cv_latin" {
include "us(alt-intl)"
- name[Group1]= "Russia - Chuvash Latin";
+ name[Group1]= "Chuvash (Latin)";
key.type[group1]="FOUR_LEVEL";
@@ -341,7 +341,7 @@ xkb_symbols "kom" {
include "ru(winkeys)"
- name[Group1]= "Russia - Komi";
+ name[Group1]= "Komi";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
@@ -365,7 +365,7 @@ xkb_symbols "sah" {
include "ru(winkeys)"
- name[Group1]= "Russia - Yakut";
+ name[Group1]= "Yakut";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
@@ -409,7 +409,7 @@ partial alphanumeric_keys
xkb_symbols "xal" {
include "ru(winkeys)"
- name[Group1]= "Russia - Kalmyk";
+ name[Group1]= "Kalmyk";
key.type[group1]="FOUR_LEVEL";
@@ -445,7 +445,7 @@ xkb_symbols "dos" {
include "ru(common)"
- name[Group1]= "Russia - DOS";
+ name[Group1]= "Russian (DOS)";
key <TLDE> { [ parenright, parenleft ] };
key <AE04> { [ 4, currency ] };
@@ -459,7 +459,7 @@ partial alphanumeric_keys
xkb_symbols "bak" {
include "ru(winkeys)"
- name[Group1]= "Russia - Bashkirian";
+ name[Group1]= "Bashkirian";
key.type[group1]="FOUR_LEVEL";
key <TLDE> { [ 0x010004d9, 0x010004d8, Cyrillic_io, Cyrillic_IO ] };
@@ -487,7 +487,7 @@ xkb_symbols "srp" {
include "ru(common)"
include "level3(ralt_switch)"
- name[Group1]= "Russia - Serbian";
+ name[Group1]= "Serbian (Russia)";
key <AE03> { [ 3, numerosign ] };
key <AE04> { [ 4, semicolon ] };
@@ -512,7 +512,7 @@ partial alphanumeric_keys
xkb_symbols "chm" {
include "ru(common)"
- name[Group1]= "Russia - Mari";
+ name[Group1]= "Mari";
key.type[group1]="FOUR_LEVEL_ALPHABETIC";
key <AC04> { [ Cyrillic_a, Cyrillic_A, U04D3, U04D2 ] };
@@ -537,7 +537,7 @@ xkb_symbols "chm" {
partial alphanumeric_keys
xkb_symbols "chu"
{
- name[Group1]= "Russia - Church Slavonic";
+ name[Group1]= "Church Slavonic";
key <TLDE> { [ U0457, U0407, U0482, U20DD ] }; // ї Ї ҂ e.g: а⃝ where the last is a combining ten thousands sign
key <AE01> { [ U0461, U0460, U047D, U047C] }; // ѡ Ѡ ѽ Ѽ
key <AE02> { [ U0454, U0404, U0465, U0464] }; // є Є ѥ Ѥ
diff --git a/xorg-server/xkeyboard-config/symbols/se b/xorg-server/xkeyboard-config/symbols/se
index 7ba3b36db..fb5214c00 100644
--- a/xorg-server/xkeyboard-config/symbols/se
+++ b/xorg-server/xkeyboard-config/symbols/se
@@ -9,7 +9,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "se" {
- name[Group1]="Sweden";
+ name[Group1]="Swedish";
key <AE05> { [ 5, percent, EuroSign, cent ] };
key <AE11> { [ plus, question, backslash, questiondown ] };
@@ -39,7 +39,7 @@ xkb_symbols "nodeadkeys" {
include "latin(type2_nodeadkeys)"
include "se(se)"
- name[Group1]="Sweden - Eliminate dead keys";
+ name[Group1]="Swedish (eliminate dead keys)";
key <AE12> { [ acute, grave, plusminus, notsign ] };
@@ -49,7 +49,7 @@ xkb_symbols "nodeadkeys" {
partial alphanumeric_keys
xkb_symbols "dvorak" {
- name[Group1]="Sweden - Dvorak";
+ name[Group1]="Swedish (Dvorak)";
include "se(basic)"
@@ -105,7 +105,7 @@ partial alphanumeric_keys
xkb_symbols "rus" {
include "se(basic)"
- name[Group1]="Sweden - Russian phonetic";
+ name[Group1]="Russian (Sweden, phonetic)";
key.type[group1]="ALPHABETIC";
key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
@@ -152,7 +152,7 @@ xkb_symbols "rus_nodeadkeys" {
include "se(nodeadkeys)"
include "se(rus)"
- name[Group1]="Sweden - Russian phonetic, eliminate dead keys";
+ name[Group1]="Russian (Sweden, phonetic, eliminate dead keys)";
key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
};
@@ -166,7 +166,7 @@ xkb_symbols "smi" {
include "fi(smi)"
- name[Group1]= "Sweden - Northern Saami";
+ name[Group1]= "Northern Saami (Sweden)";
};
// Copied from macintosh_vndr/se
@@ -177,7 +177,7 @@ xkb_symbols "mac" {
// keyboard and a very simple Swedish(Sweden) keybaord
include "latin"
- name[Group1]= "Sweden - Macintosh";
+ name[Group1]= "Swedish (Macintosh)";
key <TLDE> { [ section, degree ] };
key <AE01> { [ 1, exclam, copyright, exclamdown ] };
@@ -210,7 +210,7 @@ xkb_symbols "mac" {
partial alphanumeric_keys
xkb_symbols "svdvorak" {
- name[Group1]="Sweden - Svdvorak";
+ name[Group1]="Swedish (Svdvorak)";
include "se(basic)"
diff --git a/xorg-server/xkeyboard-config/symbols/si b/xorg-server/xkeyboard-config/symbols/si
index b3b9cbaf8..734419d14 100644
--- a/xorg-server/xkeyboard-config/symbols/si
+++ b/xorg-server/xkeyboard-config/symbols/si
@@ -1,7 +1,7 @@
default partial alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]="Slovenia";
+ name[Group1]="Slovenian";
include "rs(latin)"
@@ -11,7 +11,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "us" {
- name[Group1]= "Slovenia - US keyboard with Slovenian letters";
+ name[Group1]= "Slovenian (US keyboard with Slovenian letters)";
include "rs(latinyz)"
@@ -22,7 +22,7 @@ xkb_symbols "us" {
partial alphanumeric_keys
xkb_symbols "alternatequotes" {
- name[Group1]= "Slovenia - Use guillemets for quotes";
+ name[Group1]= "Slovenian (use guillemets for quotes)";
include "rs(latinalternatequotes)"
diff --git a/xorg-server/xkeyboard-config/symbols/sk b/xorg-server/xkeyboard-config/symbols/sk
index 342dee6ca..8343c3ac7 100644
--- a/xorg-server/xkeyboard-config/symbols/sk
+++ b/xorg-server/xkeyboard-config/symbols/sk
@@ -7,7 +7,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1] = "Slovakia";
+ name[Group1] = "Slovak";
key <TLDE> { [ semicolon, dead_abovering, grave, asciitilde ] };
key <AE01> { [ plus, 1, exclam, dead_tilde ] };
@@ -73,7 +73,7 @@ xkb_symbols "basic" {
xkb_symbols "bksl" {
include "sk(basic)"
- name[Group1] = "Slovakia - Extended Backslash";
+ name[Group1] = "Slovak (extended Backslash)";
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
@@ -87,7 +87,7 @@ xkb_symbols "qwerty" {
include "sk(basic)"
- name[Group1] = "Slovakia - qwerty";
+ name[Group1] = "Slovak (qwerty)";
key <AB01> { [ z, Z, degree, NoSymbol ] };
key <AD06> { [ y, Y, NoSymbol, NoSymbol ] };
@@ -97,7 +97,7 @@ xkb_symbols "qwerty" {
xkb_symbols "qwerty_bksl" {
include "sk(qwerty)"
- name[Group1] = "Slovakia - qwerty, extended Backslash";
+ name[Group1] = "Slovak (qwerty, extended Backslash)";
key <BKSL> { [ backslash, bar, slash, NoSymbol ] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/sn b/xorg-server/xkeyboard-config/symbols/sn
index 90ffe6111..584cc11e4 100644
--- a/xorg-server/xkeyboard-config/symbols/sn
+++ b/xorg-server/xkeyboard-config/symbols/sn
@@ -1,42 +1,42 @@
-partial default alphanumeric_keys
-xkb_symbols "basic" {
-
- include "latin"
-
- name[Group1]="Senegal";
-
- key <AE01> { [ ampersand, 1, bar, NoSymbol ] };
- key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
- key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
- key <AE04> { [apostrophe, 4, braceleft, acute ] };
- key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
- key <AE06> { [ minus, 6, bar, brokenbar ] };
- key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
- key <AE08> { [underscore, 8, backslash, macron ] };
- key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
- key <AE10> { [ agrave, 0, at, Agrave ] };
- key <AE11> { [parenright, degree, bracketright, ydiaeresis ] };
- key <AE12> { [ equal, plus, braceright,threequarters ] };
-
- key <AD01> { [ a, A, ae, AE ] };
- key <AD02> { [ z, Z, guillemotleft, less ] };
- key <AD03> { [ e, E, EuroSign, cent ] };
- key <AD11> { [ eng, ENG, bracketleft, bracketright ] };
- key <AD12> { [ dollar, sterling, currency, ecircumflex ] };
-
- key <AC01> { [ q, Q, at, Greek_OMEGA ] };
- key <AC10> { [ m, M, mu, masculine ] };
- key <AC11> { [ ntilde, Ntilde, acute, dead_acute ] };
- key <TLDE> { [twosuperior, percent, notsign, notsign ] };
-
- key <BKSL> { [ mu, sterling, grave, dead_grave ] };
- key <AB01> { [ w, W, lstroke, Lstroke ] };
- key <AB07> { [ comma, question, questiondown, NoSymbol ] };
- key <AB08> { [ semicolon, period, horizconnector, multiply ] };
- key <AB09> { [ colon, slash, periodcentered, division ] };
- key <AB10> { [ exclam, section, exclamdown, NoSymbol ] };
-
- key <LSGT> { [ less, greater, bar, NoSymbol ] };
-
- include "level3(ralt_switch)"
-};
+partial default alphanumeric_keys
+xkb_symbols "basic" {
+
+ include "latin"
+
+ name[Group1]="Wolof";
+
+ key <AE01> { [ ampersand, 1, bar, NoSymbol ] };
+ key <AE02> { [ eacute, 2, asciitilde, Eacute ] };
+ key <AE03> { [ quotedbl, 3, numbersign, cedilla ] };
+ key <AE04> { [apostrophe, 4, braceleft, acute ] };
+ key <AE05> { [ parenleft, 5, bracketleft, diaeresis ] };
+ key <AE06> { [ minus, 6, bar, brokenbar ] };
+ key <AE07> { [ egrave, 7, dead_grave, Egrave ] };
+ key <AE08> { [underscore, 8, backslash, macron ] };
+ key <AE09> { [ ccedilla, 9, asciicircum, Ccedilla ] };
+ key <AE10> { [ agrave, 0, at, Agrave ] };
+ key <AE11> { [parenright, degree, bracketright, ydiaeresis ] };
+ key <AE12> { [ equal, plus, braceright,threequarters ] };
+
+ key <AD01> { [ a, A, ae, AE ] };
+ key <AD02> { [ z, Z, guillemotleft, less ] };
+ key <AD03> { [ e, E, EuroSign, cent ] };
+ key <AD11> { [ eng, ENG, bracketleft, bracketright ] };
+ key <AD12> { [ dollar, sterling, currency, ecircumflex ] };
+
+ key <AC01> { [ q, Q, at, Greek_OMEGA ] };
+ key <AC10> { [ m, M, mu, masculine ] };
+ key <AC11> { [ ntilde, Ntilde, acute, dead_acute ] };
+ key <TLDE> { [twosuperior, percent, notsign, notsign ] };
+
+ key <BKSL> { [ mu, sterling, grave, dead_grave ] };
+ key <AB01> { [ w, W, lstroke, Lstroke ] };
+ key <AB07> { [ comma, question, questiondown, NoSymbol ] };
+ key <AB08> { [ semicolon, period, horizconnector, multiply ] };
+ key <AB09> { [ colon, slash, periodcentered, division ] };
+ key <AB10> { [ exclam, section, exclamdown, NoSymbol ] };
+
+ key <LSGT> { [ less, greater, bar, NoSymbol ] };
+
+ include "level3(ralt_switch)"
+};
diff --git a/xorg-server/xkeyboard-config/symbols/sy b/xorg-server/xkeyboard-config/symbols/sy
index e5684f191..cd4825270 100644
--- a/xorg-server/xkeyboard-config/symbols/sy
+++ b/xorg-server/xkeyboard-config/symbols/sy
@@ -1,12 +1,12 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
include "ara(basic)"
- name[Group1]= "Syria";
+ name[Group1]= "Arabic (Syria)";
};
partial alphanumeric_keys
xkb_symbols "syc" {
- name[Group1]= "Syria - Syriac";
+ name[Group1]= "Syriac";
key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
key <AE01> { [ 1, exclam, 0x1000701 ] };
@@ -76,7 +76,7 @@ xkb_symbols "syc" {
partial alphanumeric_keys
xkb_symbols "syc_phonetic" {
- name[Group1]= "Syria - Syriac phonetic";
+ name[Group1]= "Syriac (phonetic)";
key <TLDE> { [ 0x100070F, 0x100032E, Arabic_shadda ] };
key <AE01> { [ 1, exclam, 0x1000701 ] };
@@ -146,17 +146,17 @@ xkb_symbols "syc_phonetic" {
partial alphanumeric_keys
xkb_symbols "ku" {
include "tr(ku)"
- name[Group1]= "Syria - Kurdish, Latin Q";
+ name[Group1]= "Kurdish (Syria, Latin Q)";
};
partial alphanumeric_keys
xkb_symbols "ku_f" {
include "tr(ku_f)"
- name[Group1]= "Syria - Kurdish, (F)";
+ name[Group1]= "Kurdish (Syria, F)";
};
partial alphanumeric_keys
xkb_symbols "ku_alt" {
include "tr(ku_alt)"
- name[Group1]= "Syria - Kurdish, Latin Alt-Q";
+ name[Group1]= "Kurdish (Syria, Latin Alt-Q)";
};
diff --git a/xorg-server/xkeyboard-config/symbols/th b/xorg-server/xkeyboard-config/symbols/th
index 1251997f0..b77ee97b1 100644
--- a/xorg-server/xkeyboard-config/symbols/th
+++ b/xorg-server/xkeyboard-config/symbols/th
@@ -2,7 +2,7 @@
partial default alphanumeric_keys
xkb_symbols "basic" {
- name[Group1]= "Thailand";
+ name[Group1]= "Thai";
// converted to THai keysysms - Pablo Saratxaga <pablo@mandrakesoft.com>
@@ -61,7 +61,7 @@ xkb_symbols "basic" {
partial alphanumeric_keys
xkb_symbols "pat" {
- name[Group1]= "Thailand - Pattachote";
+ name[Group1]= "Thai (Pattachote)";
// The thai layout defines a second keyboard group and changes
// the behavior of a few modifier keys.
@@ -123,7 +123,7 @@ xkb_symbols "pat" {
partial alphanumeric_keys
xkb_symbols "tis" {
- name[Group1]= "Thailand - TIS-820.2538";
+ name[Group1]= "Thai (TIS-820.2538)";
// The thai layout defines a second keyboard group and changes
// the behavior of a few modifier keys.
@@ -186,7 +186,7 @@ xkb_symbols "tis" {
partial alphanumeric_keys
xkb_symbols "olpc" {
- name[Group1]= "Thailand";
+ name[Group1]= "Thai";
// The OLPC thai layout
// walter@laptop.org
diff --git a/xorg-server/xkeyboard-config/symbols/tj b/xorg-server/xkeyboard-config/symbols/tj
index fdaf7321d..9df375c7d 100644
--- a/xorg-server/xkeyboard-config/symbols/tj
+++ b/xorg-server/xkeyboard-config/symbols/tj
@@ -14,7 +14,7 @@
partial default alphanumeric_keys
xkb_symbols "basic"
{
- name[Group1] = "Tajikistan";
+ name[Group1] = "Tajik";
include "kpdl(comma)"
include "level3(ralt_switch)"
@@ -80,7 +80,7 @@ xkb_symbols "basic"
xkb_symbols "legacy"
{
- name[Group1] = "Tajikistan - Legacy";
+ name[Group1] = "Tajik (legacy)";
include "kpdl(comma)"
include "level3(ralt_switch)"
diff --git a/xorg-server/xkeyboard-config/symbols/tm b/xorg-server/xkeyboard-config/symbols/tm
index 56bd85d1e..1a5f9e99d 100644
--- a/xorg-server/xkeyboard-config/symbols/tm
+++ b/xorg-server/xkeyboard-config/symbols/tm
@@ -3,7 +3,7 @@
// Default layout (based on Vista Turkmen layout)
default partial
xkb_symbols "basic" {
- name[Group1]="Turkmenistan";
+ name[Group1]="Turkmen";
include "us"
key <TLDE> { [ zcaron, Zcaron, grave, asciitilde ] };
@@ -25,7 +25,7 @@ xkb_symbols "basic" {
// This layout provides turkmen letter via the AltGr key
partial
xkb_symbols "alt" {
- name[Group1]="Turkmenistan - Alt-Q";
+ name[Group1]="Turkmen (Alt-Q)";
include "us"
diff --git a/xorg-server/xkeyboard-config/symbols/tr b/xorg-server/xkeyboard-config/symbols/tr
index aa1b83222..ad3d7db85 100644
--- a/xorg-server/xkeyboard-config/symbols/tr
+++ b/xorg-server/xkeyboard-config/symbols/tr
@@ -9,7 +9,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1]="Turkey";
+ name[Group1]="Turkish";
key <AE01> { [ 1, exclam, greater, exclamdown ] };
key <AE02> { [ 2, apostrophe, sterling, twosuperior ] };
@@ -64,7 +64,7 @@ xkb_symbols "f" {
include "latin"
- name[Group1]="Turkey - (F)";
+ name[Group1]="Turkish (F)";
key <AE01> { [ 1, exclam, onesuperior, exclamdown ] };
key <AE02> { [ 2, quotedbl, twosuperior, VoidSymbol ] };
@@ -129,7 +129,7 @@ xkb_symbols "alt" {
include "latin"
- name[Group1]="Turkey - Alt-Q";
+ name[Group1]="Turkish (Alt-Q)";
key <AE07> { [ 7, ampersand, lowleftcorner, upleftcorner ] };
key <AE08> { [ 8, asterisk, leftt, topt ] };
@@ -167,7 +167,7 @@ xkb_symbols "sundeadkeys" {
// For naming consistency
include "tr(Sundeadkeys)"
- name[Group1]="Turkey - Sun dead keys";
+ name[Group1]="Turkish (Sun dead keys)";
};
// Kurdish Q Layout
@@ -180,7 +180,7 @@ xkb_symbols "ku" {
include "tr(basic)"
- name[Group1]="Turkey - Kurdish, Latin Q";
+ name[Group1]="Kurdish (Turkey, Latin Q)";
key <AD08> { [ i, I, idotless, I ] };
key <AD11> { [ x, X, gbreve, Gbreve ] };
@@ -195,7 +195,7 @@ xkb_symbols "ku_f" {
include "tr(f)"
- name[Group1]="Turkey - Kurdish, (F)";
+ name[Group1]="Kurdish (Turkey, F)";
key <AD03> { [ x, X, gbreve, Gbreve] };
key <AD04> { [ i, I, paragraph, VoidSymbol ] };
@@ -214,7 +214,7 @@ xkb_symbols "ku_alt" {
include "tr(alt)"
- name[Group1]="Turkey - Kurdish, Latin Alt-Q";
+ name[Group1]="Kurdish (Turkey, Latin Alt-Q)";
key <AD03> { [ e, E, ecircumflex, Ecircumflex ] };
key <AD07> { [ u, U, ucircumflex, Ucircumflex ] };
@@ -228,7 +228,7 @@ partial
xkb_symbols "intl" {
include "latin"
- name[Group1]="Turkey - International (with dead keys)";
+ name[Group1]="Turkish (international with dead keys)";
key <AE01> { type[group1] = "FOUR_LEVEL", [ 1, exclam, onesuperior, exclamdown ] };
key <AE02> { type[group1] = "FOUR_LEVEL", [ 2, apostrophe, sterling, twosuperior ] };
@@ -274,7 +274,7 @@ xkb_symbols "intl" {
partial alphanumeric_keys
xkb_symbols "olpc" {
- name[Group1]= "Turkey";
+ name[Group1]= "Turkish";
include "tr(intl)"
key <AE01> { [ 1, exclam, VoidSymbol, VoidSymbol ] };
@@ -309,7 +309,7 @@ xkb_symbols "crh" {
include "tr(basic)"
- name[Group1]="Turkey - Crimean Tatar (Turkish Q)";
+ name[Group1]="Crimean Tatar (Turkish Q)";
key <AE11> { [ x, X, asterisk, question ] };
@@ -326,7 +326,7 @@ xkb_symbols "crh_f" {
include "tr(f)"
- name[Group1]="Turkey - Crimean Tatar (Turkish F)";
+ name[Group1]="Crimean Tatar (Turkish F)";
key <AE11> { [ x, X, slash, question ] };
@@ -345,7 +345,7 @@ xkb_symbols "crh_alt" {
include "tr(alt)"
- name[Group1]="Turkey - Crimean Tatar (Turkish Alt-Q)";
+ name[Group1]="Crimean Tatar (Turkish Alt-Q)";
key <AC04> { [ f, F, iacute, Iacute ] };
key <AC07> { [ j, J, ibreve, Ibreve ] };
diff --git a/xorg-server/xkeyboard-config/symbols/tw b/xorg-server/xkeyboard-config/symbols/tw
index 8c50023bb..85d8ab883 100644
--- a/xorg-server/xkeyboard-config/symbols/tw
+++ b/xorg-server/xkeyboard-config/symbols/tw
@@ -3,7 +3,7 @@
partial default alphanumeric_keys
xkb_symbols "tw" {
- name[Group1]= "Taiwan";
+ name[Group1]= "Taiwanese";
include "us(basic)"
@@ -51,7 +51,7 @@ xkb_symbols "tw" {
partial alphanumeric_keys
xkb_symbols "indigenous" {
- name[Group1]= "Taiwan - Indigenous";
+ name[Group1]= "Taiwanese (indigenous)";
include "tw(tw)"
@@ -63,7 +63,7 @@ xkb_symbols "indigenous" {
partial alphanumeric_keys
xkb_symbols "saisiyat" {
- name[Group1]= "Taiwan - Saisiyat";
+ name[Group1]= "Saisiyat (Taiwan)";
include "tw(indigenous)"
diff --git a/xorg-server/xkeyboard-config/symbols/tz b/xorg-server/xkeyboard-config/symbols/tz
index 64804d678..ff747b643 100644
--- a/xorg-server/xkeyboard-config/symbols/tz
+++ b/xorg-server/xkeyboard-config/symbols/tz
@@ -5,7 +5,7 @@
partial default alphanumeric_keys
xkb_symbols "swa" {
- name[Group1]= "Tanzania";
+ name[Group1]= "Swahili (Tanzania)";
key <TLDE> { [ 0x1000670, VoidSymbol ] };
diff --git a/xorg-server/xkeyboard-config/symbols/ua b/xorg-server/xkeyboard-config/symbols/ua
index 1fba1368b..8da0d86d2 100644
--- a/xorg-server/xkeyboard-config/symbols/ua
+++ b/xorg-server/xkeyboard-config/symbols/ua
@@ -9,7 +9,7 @@ partial default alphanumeric_keys
xkb_symbols "unicode" {
include "ua(winkeys)"
- name[Group1]= "Ukraine";
+ name[Group1]= "Ukrainian";
key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
key <AE02> { [ 1, exclam, onesuperior ] };
@@ -46,7 +46,7 @@ xkb_symbols "unicode" {
partial alphanumeric_keys
xkb_symbols "legacy" {
- name[Group1]= "Ukraine - Legacy";
+ name[Group1]= "Ukrainian (legacy)";
key <TLDE> { [ apostrophe, asciitilde ] };
key <AE01> { [ 1, exclam ] };
@@ -107,7 +107,7 @@ partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ua(legacy)"
- name[Group1]= "Ukraine - Winkeys";
+ name[Group1]= "Ukrainian (WinKeys)";
key <AE03> { [ 3, numerosign ] };
key <AE04> { [ 4, semicolon ] };
@@ -122,7 +122,7 @@ partial alphanumeric_keys
xkb_symbols "typewriter" {
include "ua(legacy)"
- name[Group1]= "Ukraine - Typewriter";
+ name[Group1]= "Ukrainian (typewriter)";
key <TLDE> { [ apostrophe, quotedbl ] };
key <AE01> { [ exclam, 1 ] };
@@ -151,7 +151,7 @@ partial alphanumeric_keys
xkb_symbols "phonetic" {
include "ua(legacy)"
- name[Group1]= "Ukraine - Phonetic";
+ name[Group1]= "Ukrainian (phonetic)";
key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
@@ -197,7 +197,7 @@ partial alphanumeric_keys
xkb_symbols "rstu" {
include "ua(legacy)"
- name[Group1]= "Ukraine - Standard RSTU";
+ name[Group1]= "Ukrainian (standard RSTU)";
key <TLDE> { [ apostrophe, question ] };
key <AE01> { [ exclam, 1 ] };
@@ -227,7 +227,7 @@ xkb_symbols "rstu" {
partial alphanumeric_keys
xkb_symbols "rstu_ru" {
include "ru(common)"
- name[Group1]= "Ukraine - Standard RSTU on Russian layout";
+ name[Group1]= "Russian (Ukraine, standard RSTU)";
key <TLDE> { [ apostrophe, question ] };
key <AE01> { [ exclam, 1 ] };
@@ -253,7 +253,7 @@ key.type[group1]="ALPHABETIC";
partial alphanumeric_keys
xkb_symbols "homophonic" {
include "ua(legacy)"
- name[Group1]= "Ukraine - Homophonic";
+ name[Group1]= "Ukrainian (homophonic)";
key <TLDE> { [ grave, underscore ] };
key <AE01> { [ 1, exclam ] };
diff --git a/xorg-server/xkeyboard-config/symbols/us b/xorg-server/xkeyboard-config/symbols/us
index 10351796e..396dde6a9 100644
--- a/xorg-server/xkeyboard-config/symbols/us
+++ b/xorg-server/xkeyboard-config/symbols/us
@@ -2,7 +2,7 @@ default
partial alphanumeric_keys modifier_keys
xkb_symbols "basic" {
- name[Group1]= "English (USA)";
+ name[Group1]= "English (US)";
// Alphanumeric section
key <TLDE> { [ grave, asciitilde ] };
@@ -554,7 +554,7 @@ partial alphanumeric_keys
xkb_symbols "dvp" {
include "us(dvorak)"
- name[Group1] = "USA - Programmer Dvorak";
+ name[Group1] = "English (programmer Dvorak)";
// Unmodified Shift AltGr Shift+AltGr
// symbols row, left side
@@ -1123,7 +1123,7 @@ xkb_symbols "chr" {
partial alphanumeric_keys
xkb_symbols "hbs" {
- name[Group1]= "Serbo-Croatian (USA)";
+ name[Group1]= "Serbo-Croatian (US)";
include "us"
@@ -1212,7 +1212,7 @@ xkb_symbols "htcdream" {
partial alphanumeric_keys
xkb_symbols "intl-unicode" {
- name[Group1]= "USA - International (AltGr Unicode combining)";
+ name[Group1]= "English (US, international AltGr Unicode combining)";
include "us(intl)"
include "level3(ralt_switch)"
@@ -1262,7 +1262,7 @@ xkb_symbols "intl-unicode" {
partial alphanumeric_keys
xkb_symbols "alt-intl-unicode" {
- name[Group1]= "USA - International (AltGr Unicode combining, alternative)";
+ name[Group1]= "English (US, international AltGr Unicode combining, alternative)";
include "extras/us(intl-unicode)"
include "level3(ralt_switch)"
@@ -1282,7 +1282,7 @@ xkb_symbols "ats" {
include "us"
- name[Group1]= "USA - Atsina";
+ name[Group1]= "Atsina";
//Using Dead key to get COMBINING COMMA ABOVE for ejectives on
//q, l, t, s, m, g, k, p, w, y, r
@@ -1313,7 +1313,7 @@ xkb_symbols "crd" {
include "us"
- name[Group1]= "USA - Couer D'alene Salish";
+ name[Group1]= "Couer D'alene Salish";
// Alphanumeric section
key <AD02> { [ w, W, U02B7, U02B7 ] };
diff --git a/xorg-server/xkeyboard-config/symbols/uz b/xorg-server/xkeyboard-config/symbols/uz
index 53bbebe0f..a5dbb8c64 100644
--- a/xorg-server/xkeyboard-config/symbols/uz
+++ b/xorg-server/xkeyboard-config/symbols/uz
@@ -33,7 +33,7 @@
partial default alphanumeric_keys
xkb_symbols "cyrillic" {
- name[Group1]= "Uzbekistan";
+ name[Group1]= "Uzbek";
key <AE01> { [ 1, exclam ] };
key <AE02> { [ 2, quotedbl ] };
@@ -93,6 +93,6 @@ key.type[group1]="ALPHABETIC";
partial alphanumeric_keys
xkb_symbols "latin" {
include "us"
- name[Group1]= "Uzbekistan - Latin";
+ name[Group1]= "Uzbek (Latin)";
key <AC11> { [0x010002BB, quotedbl] };
};
diff --git a/xorg-server/xkeyboard-config/symbols/vn b/xorg-server/xkeyboard-config/symbols/vn
index 4aed75eb8..d6f855f39 100644
--- a/xorg-server/xkeyboard-config/symbols/vn
+++ b/xorg-server/xkeyboard-config/symbols/vn
@@ -13,7 +13,7 @@ xkb_symbols "basic" {
include "us"
- name[Group1]= "Vietnam";
+ name[Group1]= "Vietnamese";
// Alphanumeric section
key <TLDE> { [ quoteleft, asciitilde ] };
diff --git a/xorg-server/xkeyboard-config/symbols/za b/xorg-server/xkeyboard-config/symbols/za
index 8c277c7be..191284fd4 100644
--- a/xorg-server/xkeyboard-config/symbols/za
+++ b/xorg-server/xkeyboard-config/symbols/za
@@ -9,7 +9,7 @@ xkb_symbols "basic" {
include "latin"
- name[Group1]="South Africa";
+ name[Group1]="English (South Africa)";
key <TLDE> { [ grave, asciitilde, dead_grave ] };
key <AE02> { [ 2, at, yen ] };