This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Mouse center wheel scrolling problem

Hi, all:

Sometimes, the mouse cursor jump to the low left corner when scroll the center wheel. It happens in EZSDK 5.02 and 5.03 version.

How to reproduce:

1. In Martrix GUI, start Browser.

2. On the Browser bookmark bar, click "Qt Centre" and wait the whole page display.

3. Use the mouse center wheel to scroll down the page to the end.

4. Scroll up the center wheel with fast speed.

5. Sometimes, the cursor will jump to the low left corner of screen.

I tested many times and found:

a. If the current webpage is complex, dynamic display costs lots of CPU resource when scroll up/down, this problem often happens. If the webpage is simple, ex. "Qt Quarterly" webpage, it is hard to reproduce this problem.

b. The problem happens only when scroll up, not scroll down.

Do you have any suggestion for this problem?  Thanks!

  • Can you let us the device platform that you are running this on?  Thanks

  • Hi, Kevin:

    The forum reply function does not work on my side for long time.

    I am using DM8148 EVM board. I tested in EZSDK 5.03 and 5.04.

    Thanks!

  • Hi.

    I see the same issues with qt applications. I use ti-ezsdk_dm814x-evm_5_04_00_11. Do you have any progress?

    Best regards,

    Alexander Vasiljev.

  • Hi.

    I think i found a root of the problem. It is a false assumption in QT. In its mouse pc plugin they assume that a mouse wheel count cannot be higher than 2 or lower than -2. But when a system is under heavy load it can be. At this situation they lose the order of bytes. So here is the patch. Now mouse wheel works fine with this patch applied.

    --- qt-everywhere-opensource-src-4.7.2/src/gui/embedded/qmousepc_qws.cpp        2011-02-22 15:03:58.000000000 +0300
    +++ qt4-embedded-gles/qt-everywhere-opensource-src-4.7.2/src/gui/embedded/qmousepc_qws.cpp      2012-12-05 18:57:54.231418132 +0400
    @@ -222,8 +222,10 @@ public:
                     int debugwheel =
     #endif
                     wheel = packetsize > 3 ? -(signed char)buffer[3] : 0;
    -                if (wheel < -2 || wheel > 2)
    -                    wheel = 0;
    +                if (wheel < -3)
    +                                       wheel = -3;
    +                               if(wheel > 3)
    +                                       wheel = 3;
                     wheel *= 120; // WHEEL_DELTA?
     #ifdef QWS_MOUSE_DEBUG
                     qDebug("Intellimouse: motion %d,%d, state %d, raw wheel %d, wheel %d", motion.x(), motion.y(), nbstate, debugwheel, wheel);

    Best regards,

    Alexander Vasiljev.

  • Hi, Alexander:

    Thanks for your solution!  But I already changed to RDK platform. It is a Ubuntu system and no the mouse problem.

    Best Regards.