Re: [AD] Fwd: Submission: XInput2 patch for linux mouse-movement

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


I got it while running ex_mouse_events. I tried it with and without touch input installed and got the same error. I don't quite know how to pinpoint the line (I'd be grateful if you explained to me how to debug this, as there are a few others X errors that I had no idea how to localize where they occur).

Here's the output of xinput --version

xinput version 1.6.1
XI version on server: 2.3

Thanks,

-SL

On 03/28/2016 08:17 PM, Phelius wrote:
That error can occur for several reasons if you do something the xinput
API doesn't like.
I encountered it myself while refactoring, but I resolved it for my
particular case.

On what line of code did the error occur?
Was it with any specific allegro example?
Was it just with mouse input that it failed or was touch input installed
or both?


On Wed, Mar 23, 2016 at 11:43 PM, SiegeLord <siegelordex@xxxxxxxxxx
<mailto:siegelordex@xxxxxxxxxx>> wrote:

    So I tried this on my Ubuntu and got this error:

    X Error of failed request:  BadValue (integer parameter out of range
    for operation)
       Major opcode of failed request:  132 (XInputExtension)
       Minor opcode of failed request:  46 ()
       Value in failed request:  0xd
       Serial number of failed request:  228
       Current serial number in output stream:  229

    Do you know what that means?

    -SL

    On 03/10/2016 01:29 PM, Phelius wrote:


        Attached is a patch that enables Xinput2 API for processing
        mouse-movement.
        No new functionality is implemented.

        Notes:
        -I refactored/moved the x11 touch input setup stuff since it
        also gets
        used for the mouse
        -touchpad events were implemented in Xinput 2.1, but touchscreen
        events
        are in ver 2.2
           I simply made 2.2 the minimum requirement. I don't think it's
        worth it
        to test for both versions
           and it seems to be what other projects (eg: GTK) are doing.

        Important:
        Xorg apparently does not allow using both the legacy API and
        Xinput2 for
        the same event class.
        So enabling listening for XI_Motion events causes the
        MotionNotify events to stop.
        Hence, this patch _only_ grabs the mouse-movement events in
        Xinput2 so
        that allegro has access to touchpad events we can add later in
        the future.
        All other inputs + window + mouse events are all still being
        handled by
        the legacy API.

        Testing:
        - allegro5 builds with and without xinput2 support
        - mouse example programs and ALLEGRO_MOUSE_EVENT members all
        work for
        legacy and XInput2 versions.
        - pointer and mouse-wheel acceleration work for mouse and touchpad
        - hot-plugging USB mouse works and simultaneous use with
        touchpad works

        Everything behaved as expected for me.

        Please review and consider for addition.

        Thanks,
        Pho75



        _______________________________________________
        Allegro-developers mailing list
        Allegro-developers@xxxxxxxxxx <mailto:Allegro-developers@xxxxxxxxxx>
        https://mail.gna.org/listinfo/allegro-developers






Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/