TI E2E Community
Mouse center wheel scrolling problem
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
Please Verify Answer if you think it answers your question. Thank you
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.
I see the same issues with qt applications. I use ti-ezsdk_dm814x-evm_5_04_00_11. Do you have any progress?
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 : 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);
Thanks for your solution! But I already changed to RDK platform. It is a Ubuntu system and no the mouse problem.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.