<div dir="ltr"><div>Hi Ken,</div><div><br></div><div>First of all, I must thank you for your courage to answer a question that probably went incomplete and sounds a little weird.<br><br>The idea is to call X11 server directly (maybe using Display). Parsing disk files (/usr/share/X11/xkb/) could not be good enough, here.<br><br>The second focus is to limit the data according to the working keyboard geometry.<br><br>Is there a function to call X11 server for...<br><br>a) the current/active/detected/in use keyboard geometry name?<br>b) the names and/or ids of all defined keyboard layouts for an specific geometry ?<br>c) the list of keycodes/levels/keysyms for an specific layout (and geometry) ?<br><br>I'm working in C/C++.<br><br>Glus</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Missatge de Ken Moffat <<a href="mailto:zarniwhoop@ntlworld.com">zarniwhoop@ntlworld.com</a>> del dia dv., 20 de set. 2019 a les 21:16:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Sep 20, 2019 at 11:15:41AM +0200, Glus Xof wrote:<br>
> Hi guys,<br>
> <br>
> I need to retrieve all keyboard keycodes, levels, keysyms and keyboard<br>
> layout names for all keyboard layouts defined in my X11 system and<br>
> according the current keyboard geometry.<br>
> <br>
> Which would be the suitable library for ?<br>
> <br>
> Is there any tutorial, piece of code... ?<br>
> <br>
> Glus<br>
<br>
Hi Glus,<br>
<br>
that sounds an uncommon requirement.  I have no idea what you want<br>
to do with that data, but I'll be very surprised if there are any<br>
libraries or tutorials for doing this.  OTOH, it would not be the<br>
first time I've been surprised :)<br>
<br>
Anyway, if X is in /usr then xkeyboard-config installs its files in<br>
/usr/share/X11/xkb/.  For example, on a British keyboard the various<br>
options are in /usr/share/X11/xkb/symbols/gb with labels like<br>
 xkb_symbols "dvorak"<br>
<br>
But these names are only unique within that 'language' file, and<br>
they usually include various other items (e.g. "us(dvorak-alt-intl)"<br>
for that example.<br>
<br>
Depending on exactly why you want to do this, and for how wide a<br>
range of keyboards, it looks like a job for your favourite scripting<br>
language.<br>
<br>
Similarly, geometry definitions in xkb/geometry and other files in<br>
compat/ keycodes/ rules/ and types/.<br>
<br>
Potentially, your scope is vast (e.g. I could use non-gb non-qwerty<br>
layouts on my standard British keyboard, although the only sane<br>
reason would be if I knew one of those layouts by heart).  In<br>
practice, those of us who use X (possibly without gnome or kde) can<br>
make our own local changes to get modified mappings for things which<br>
are otherwise only in Compose settings.<br>
<br>
ĸen<br>
-- <br>
thread 'main' panicked at 'giraffe',<br>
/tmp/rustc-1.32.0-src/src/test/run-fail/<a href="http://while-panic.rs" target="_blank">while-panic.rs</a>:17:13<br>
_______________________________________________<br>
<a href="mailto:xorg@lists.x.org" target="_blank">xorg@lists.x.org</a>: X.Org support<br>
Archives: <a href="http://lists.freedesktop.org/archives/xorg" rel="noreferrer" target="_blank">http://lists.freedesktop.org/archives/xorg</a><br>
Info: <a href="https://lists.x.org/mailman/listinfo/xorg" rel="noreferrer" target="_blank">https://lists.x.org/mailman/listinfo/xorg</a><br>
Your subscription address: %(user_address)s</blockquote></div>