On Mon, Mar 11, 2019 at 07:11:33PM +0100, Pierre-Luc Angles wrote: > Dear list-members, > > I allow me to write to you because I am now creating / mapping two different > keyboard layouts, one for the transliteration of Ancient Egyptian and the > other for a special Greek polytonic keyboard used by people reading ancient > Greek documents. I have problems with these two new keyboards. > > First, I would like to solve my problem with the transliteration of Ancient > Egyptian. > > I read in the archive of this list this thread (cf. > https://lists.freedesktop.org/archives/xorg/2009-January/042282.html) and > that is why I have created a file ~/.XCompose, with contents > > <i_breve_below> : "i??" > <u_breve_below> : "u??" > <??_ring_above> : "????" > <I_ring_above> : "I??" > <??_dot_below> : "????" > <??_dot_below> : "????" > <s_macron_below> : "s??" > <S_macron_below> : "S??" > <H_macron_below> : "H??" > <h_circumflex_below> : "h??" > <H_circumflex_below> : "H??" > > When I modify for example my keyboard layout like this > : > > key <AE01> { [ ampersand, 1, i_breve_below, > > U032F ] }; > > the i_breve_below does not work and function, I think, as if it would be > ???NoSymbol??? instead of this.
You are probably right. Keysyms does not get added automatically by naming it, and I don't see any mention of i_breve_below and so on in standard keysymdef.h , which is the source of the default set of keysyms. You can always check it by running xev and pressing that key in it's window. It should display NoSymbol, AFAIK. If you really want your keysym -- you can probably add one. You need to define a value for that keysym, probably in the vendor- specific range #x10000000..#x1FFFFFFF (29th bit set). Also note already used ones, you can get it from the last used XKeysymDB file: https://gitlab.freedesktop.org/xorg/lib/libx11/blob/00175397480b76d32bf82b0c7c94c91a2a95954e/src/XKeysymDB Also note, that #x11000000 to #x1100FFFF are reserved for key- pad, so don't use that either. Then you can write your new XKeysymDB in the same format as ex- ample above and put it the /usr/share/X11 on every machine that needs to work with your keys. Well, the /usr/share/X11/XKeysymDB is the place that my current devuan expects it to be, and other distributions can place this file in other places, like /usr/X11R6/lib/ or so. You can quickly find an exact place by running strace xkbcomp "$DISPLAY" - 2>&1 >/dev/null |grep XKeysym (if you have strace, of course). Then reloading your xkb should work, and .XCompose should work also. Or you can type any keysym number in-place just by typing it's code in hex with 0x prefix as in 0x10000501 However, it can be simpler to borrow some unused or reserved unicode position, as every unicode character in the range 0x100 -- 0x10FFFF have a default assigned keysym name "Uxxx", e.g. the cyrillic capital letter A (0x410 unicode value) would be keysym "U410" and first private use area symbol (0xE000 unicode value) would be keysym "UE000". > > For information, I am using Linux Manjaro 4.19 XFCE and scim is not enabled > and not downloaded on my laptop. > > I would be very nice if you could me help somehow to solve this problem. > > I thank you in advance a lot. > > Best regards, > > Pierre-Luc > _______________________________________________ > xorg@lists.x.org: X.Org support > Archives: http://lists.freedesktop.org/archives/xorg > Info: https://lists.x.org/mailman/listinfo/xorg > Your subscription address: %(user_address)s _______________________________________________ xorg@lists.x.org: X.Org support Archives: http://lists.freedesktop.org/archives/xorg Info: https://lists.x.org/mailman/listinfo/xorg Your subscription address: %(user_address)s