<div dir="ltr"><div><div><div>Thanks for explaining this!<br><br></div>However I don't find the documentation clear.<br><br></div>How can convert a unicodes into X keysym? Is there a list somewhere?<br><br></div>As example, I want to add 0x025B. It says that I should take "the character's Unicode number plus 0x01000000". What does that mean? How can I use the functions XStringToKeysym() and XKeysymToString(). Can I run them in the terminal in some way? Could you show me an example of what command I can run in terminal to find the X keysym for unicode 025B?<br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-09-02 3:24 GMT+02:00 Alan Coopersmith <span dir="ltr"><<a href="mailto:alan.coopersmith@oracle.com" target="_blank">alan.coopersmith@oracle.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 09/ 1/15 06:16 PM, Mats Blakstad wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
Hi<br>
<br>
I work to make a patch to add new keysym names to this file:<br>
<a href="http://cgit.freedesktop.org/xorg/proto/x11proto/tree/keysymdef.h" rel="noreferrer" target="_blank">http://cgit.freedesktop.org/xorg/proto/x11proto/tree/keysymdef.h</a><br>
<br>
I noticed that unicode 01b1 is listed like this:<br>
<br>
#define XK_aogonek                       0x01b1  /* U+0105 LATIN SMALL LETTER A<br>
WITH OGONEK */<br>
<br>
However, unicode 01b1 is in fact the capital version of latin upsilon<br></span>
<<a href="https://en.wikipedia.org/wiki/%C6%B1" rel="noreferrer" target="_blank">https://en.wikipedia.org/wiki/%C6%B1</a>>, so it should be Ʊ.<span class=""><br>
<br>
Or is the number on the side '0x01b1' not a unicode?<br>
</span></blockquote>
<br>
It is not.   It is the X keysym value defined before Unicode existed.<br>
The U+... in the comment is the Unicode value.<span class=""><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
And if so, how can I find out what code to use for different unicodes?<br>
</blockquote>
<br></span>
See the long comment near the top of the file, after the license info,<br>
which includes:<br>
<br>
 * For any future extension of the keysyms with characters already<br>
 * found in ISO 10646 / Unicode, the following algorithm shall be<br>
 * used. The new keysym code position will simply be the character's<br>
 * Unicode number plus 0x01000000. The keysym values in the range<br>
 * 0x01000100 to 0x0110ffff are reserved to represent Unicode<br>
 * characters in the range U+0100 to U+10FFFF.<br>
<br>
and<br>
<br>
 * Before adding new keysyms, please do consider the following: In<br>
 * addition to the keysym names defined in this file, the<br>
 * XStringToKeysym() and XKeysymToString() functions will also handle<br>
 * any keysym string of the form "U0020" to "U007E" and "U00A0" to<br>
 * "U10FFFF" for all possible Unicode characters. In other words,<br>
 * every possible Unicode character has already a keysym string<br>
 * defined algorithmically, even if it is not listed here. Therefore,<br>
 * defining an additional keysym macro is only necessary where a<br>
 * non-hexadecimal mnemonic name is needed, or where the new keysym<br>
 * does not represent any existing Unicode character.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br>
        -Alan Coopersmith-              <a href="mailto:alan.coopersmith@oracle.com" target="_blank">alan.coopersmith@oracle.com</a><br>
         Oracle Solaris Engineering - <a href="http://blogs.oracle.com/alanc" rel="noreferrer" target="_blank">http://blogs.oracle.com/alanc</a><br>
</font></span></blockquote></div><br></div>