<div id="geary-body"><div><div>Hi pushed a prototype of the library on a public repo: <a href="https://gitlab.gnome.org/aplazas/libmanette">https://gitlab.gnome.org/aplazas/libmanette</a></div><div><br></div><div>Its licensed under the LGPLv2.1+ (the same as glib/gtk+), it depends on glib, gio, gobject and libevdev, and gudev is highly recommended though it provides a fallback. So far it is Linux only but I'm not against makinig it cross-platform with a bit of help.</div><div><br></div><div>I tried to keep the public API minimal as it's easier to add stuff than to remove it. ☺ It's not completely usable yet as functions to retrieve the useful content from the events still have to be written. I would like to polish it a bit more and to publish a first release within a month.</div><div><br></div><div>A code review would be very welcomed if you have time for it.</div></div><div><br></div></div><div id="geary-signature"><div style="white-space: pre;">Cheers,
Adrien Plazas</div></div><div id="geary-quote"><br>On mar., oct. 17, 2017 at 3:16 AM, Michael Catanzaro <firstname.lastname@example.org> wrote:<br><blockquote type="cite"><div class="plaintext" style="white-space: pre-wrap;">All the Linux gamepad code was removed in <a href="http://trac.webkit.org/changeset/220532/webkit">http://trac.webkit.org/changeset/220532/webkit</a> since it was never enabled by default and never updated to use Apple's new gamepad code instead of Google's older code.
Of course, all the cross-platform gamepad support still exists. It just needs to be implemented for the GTK and WPE ports.
I think we'd be fine with adding a dependency on your gamepad library as long as (a) it uses either a BSD/MIT style or LGPLv2+ (not LGPLv3+ and not GPL) license, and (b) as long as it's optional, so that distros can turn it off if they don't ship it yet. This means you'd need to use WEBKIT_OPTION_DEFINE to make ENABLE_GAMEPAD a public option in OptionsGTK.cmake.
I think all the code you'd need to modify is under Source/WebCore/platform/gamepad and Source/WebKit/UIProcess/Gamepad. There's gamepad code in a few other places, but it all looks cross-platform.