summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Kuhn <Markus.Kuhn@cl.cam.ac.uk>2008-04-21 21:27:26 +0100
committerMarkus Kuhn <Markus.Kuhn@cl.cam.ac.uk>2008-04-21 21:27:26 +0100
commitc705bab0f6efcb6937b7ccc2fb415e701878fddb (patch)
treeba0f29a7eb21def588909b2c1728737b4c9a7e4e
parent44e24a27bca023cf7b799f191fe6d52e12efbe5f (diff)
downloadxorg-proto-x11proto-c705bab0f6efcb6937b7ccc2fb415e701878fddb.tar.gz
Added comment to slightly discourage the definition of ever more Unicode keysyms
-rw-r--r--keysymdef.h29
1 files changed, 19 insertions, 10 deletions
diff --git a/keysymdef.h b/keysymdef.h
index 1d9a3c1..18753ee 100644
--- a/keysymdef.h
+++ b/keysymdef.h
@@ -56,7 +56,7 @@ SOFTWARE.
* engraving) of a keyboard layout. This file assigns mnemonic macro
* names for these keysyms.
*
- * This file is also compiled (by xc/lib/X11/util/makekeys.c) into
+ * This file is also compiled (by src/util/makekeys.c in libX11) into
* hash tables that can be accessed with X11 library functions such as
* XStringToKeysym() and XKeysymToString().
*
@@ -93,17 +93,26 @@ SOFTWARE.
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*\/\*\(U+([0-9A-F]{4,6}) (.*)\)\*\/\s*$/
* /^\#define XK_([a-zA-Z_0-9]+)\s+0x([0-9a-f]+)\s*(\/\*\s*(.*)\s*\*\/)?\s*$/
*
+ * Before adding new keysyms, please do consider the following: In
+ * addition to the keysym names defined in this file, the
+ * XStringToKeysym() and XKeysymToString() functions will also handle
+ * any keysym string of the form "U0020" to "U007E" and "U00A0" to
+ * "U10FFFF" for all possible Unicode characters. In other words,
+ * every possible Unicode character has already a keysym string
+ * defined algorithmically, even if it is not listed here. Therefore,
+ * defining an additional keysym macro is only necessary where a
+ * non-hexadecimal mnemonic name is needed, or where the new keysym
+ * does not represent any existing Unicode character.
+ *
* When adding new keysyms to this file, do not forget to also update the
- * mappings in xc/lib/X11/KeyBind.c and the protocol specification in
- * xc/doc/specs/XProtocol/X11.keysyms.
- */
-
-/*
- * Now that the Xorg code base is managed in Git repositories, the KeyBind.c
- * and X11.keysyms files mentioned in the last comment block are located at:
+ * following:
+ *
+ * - the mappings in src/KeyBind.c in the repo
+ * git://anongit.freedesktop.org/xorg/lib/libX11
+ *
+ * - the protocol specification in specs/XProtocol/X11.keysyms
+ * in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
*
- * src/KeyBind.c in the repo git://anongit.freedesktop.org/xorg/lib/libX11
- * specs/XProtocol/X11.keysyms in the repo git://anongit.freedesktop.org/xorg/doc/xorg-docs
*/
#define XK_VoidSymbol 0xffffff /* Void symbol */