Jump to content

Keyboard bug maybe


ronan_rt

Recommended Posts

Hello folks!

Everytime I open a virtual keyboard, I am able to type letters and numbers into a textedit with total success. But somehow, there is a bug in the keyboard.

The Keyboard seems to be reframing, like, "redrawing" every 'X' seconds when I try to type faster.

There is some bug or My code is messed up?

 

Link to comment
Share on other sites

That definitely shouldn't happen. The keyboard widget only redraws the key that changed the state (feel free to check the source code). A full redraw of the keyboard widget is only performed if the visibility, enable state (or any of these of the parent container(s)) changed.

I'd recommend you try putting the keyboard widget outside of any parent container(s) on your display without your visibility control code to see whether it performs as expected. It's a very simple test (quickly done) that will tell whether it's an issue in your code or something hidden deeper.

Link to comment
Share on other sites

This is happening with the example on the ugfx demos\modules\gwin\keyboard . and \demos\modules\ginput\keyboard.

Note that if i HOLD the key, it bugs a lot. Changes to one letter to another one. This is shown on the video

 

 

Edited by ronan_rt
Link to comment
Share on other sites

I had a look at the video. To me that looks like a touch driver problem. You don't seem to be getting consistent readings (or perhaps touched detection) from the touch device. This is causing the button to flicker as it tries to redraw to keep up with the variant readings it is getting.

Try using the demos/tools/touch* demos to get reliable behaviour from your touch device first.

 

Link to comment
Share on other sites

There is a board file in your project for the RA8875 driver which specifies parameters for Error, Debouncing, Touch levels and various other factors. It is likely that those parameters are not right for your hardware. The touch demo tools mentioned above help you set the correct values for your hardware.

Link to comment
Share on other sites

This is a touch problem.

What happens is that as the touch is being released or pressed many touch controllers give wildly inaccurate readings - including obviously your controller. If not detected and filtered correctly they give exactly the symptoms you are seeing.

Do not use the controllers touch detected pin (if it has one). They are just too inaccurate. Instead use z values provided by the controller registers. There are plenty of other drivers to show how it is done.

Please play with the touch demo as requested above. It will help you set the correct values in your board file to get reliable performance. Look particularly at the z value figures for touch detection and the jitter deltas.

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...