<div dir="ltr">On Mon, Jul 28, 2014 at 11:36 PM, Bill Spitzak <span dir="ltr"><<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Yes I saw that, but it is a file descriptor. My reading was that a client machine must have somewhere in it's file system every possible keyboard that could be on a remote machine. That is actually what led to my question.<br>

</blockquote><div><br></div><div>Try looking at the code next time. It creates a temporary file, unlinks the file, writes the XKB description to it using xkb_map_get_as_string, and sends it over.<br><br></div><div>When we finally have memfd in the kernel, we could use that instead of mmap'ing an anonymous file.<br>

<br>Seriously, the code is *right there*, and you can't be bothered to actually figure out what it does?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


I suppose the xkb description can be sent: the local compositor would aquire the file the first time it connects to a remote compositor. I would then be concerned about loading an interpreted file from an untrusted source, but I guess xkb descriptions are simple enough that this can be made safe.<br>

</blockquote><div><br></div><div>XKB descriptions are declarative, not interpreted.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

What I am really trying to get an answer to is what is special about keyboards. Everybody seems to be in agreement that the compositor will call libinput and translate raw evdev events from touchpads into something more useful. Surely if there is some advantage to the xkb scheme it would apply equally to touchpads, and the compositor would send raw events and clients would link to libinput and read touchpad description files.<br>

</blockquote><div><br></div><div>We already have "libinput for keyboards", it's called "libxkbcommon".<br><br>The reason that keyboards are crazy special is because they're a multitool, and I've answered this exact question before, *in a thread that you've replied to*! [0]<br>
<br></div><div>Keyboard layouts are dynamic and have cultural influence. Nobody has different "touchpad layouts" which they switch to at runtime to enter different "touchpad input". Nobody has "touchpad input methods" which let them find the gestures they're looking for from a dropdown.<br>
<br></div><div>The keyboard case is *hard* because it's a tool for language input, which already makes everything 100 times more difficult, and then you add on stuff like shortcuts like Ctrl+C / Ctrl+V which are position-based, Ctrl+F for "find" which is language-based, and then geometry-based input like "WASD" where it makes a nice convenient arrow shape on the left hand, and you want that to be "Q8ZA" or whatever on a Dvorak keyboard instead.<br>

</div><div><br></div><div>[0] <a href="http://lists.freedesktop.org/archives/wayland-devel/2013-November/012029.html">http://lists.freedesktop.org/archives/wayland-devel/2013-November/012029.html</a><br></div><div><br></div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
On 07/28/2014 10:58 AM, Jasper St. Pierre wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
On Mon, Jul 28, 2014 at 7:44 PM, Bill Spitzak <<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a><br></div><div>
<mailto:<a href="mailto:spitzak@gmail.com" target="_blank">spitzak@gmail.com</a>>> wrote:<br>
<br>
    I am just going to have to study this further, because I am still<br>
    completely stumped as to why so many people think this is an<br>
    acceptable solution.<br>
<br>
    This sounds to me like either the ability to transmit an entire xkb<br>
    description across the wire is added to the wayland protocol<br>
<br>
<br>
Bill. Please. Can you at least *look* at the current protocol before you<br>
write your current emails? Because this is why we get frustrated.<br>
<br>
<a href="http://cgit.freedesktop.org/wayland/wayland/tree/protocol/wayland.xml#n1508" target="_blank">http://cgit.freedesktop.org/<u></u>wayland/wayland/tree/protocol/<u></u>wayland.xml#n1508</a><br>
</div></blockquote>
</blockquote></div><br><br clear="all"><br>-- <br>  Jasper<br>
</div></div>