-
Notifications
You must be signed in to change notification settings - Fork 214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dynamic Display Orientation vs Touch #98
Comments
Some good news on the touch handling front. I have rewritten the orientation & touch handling code and managed to simplify it significantly. My intention is for the following:
The plan is to remove all other configuration. This means the elimination of the following from the config:
The key change here is that resistive touchscreens will be calibrated in the display’s natural orientation (ie. Rotate=0) using a new diagnostic/calibration sketch. Thus users will need to modify the Dynamic rotation (and the associated synchronization between display and touch) should work automatically. In total, 3 diagnostic sketches are provided:
Overall, I believe this change will greatly simplify the configuration of the library and also align it with the natural calibration methodology used by other libraries. The above changes have been implemented in a local development branch and will be posted soon. |
The WIP98_Orientation branch in #105 is now available to test out the rewritten touch handling & orientation code. Extensive fixes and improvements added, including:
Once I have received feedback from others who have had a chance to test out this revised code, I will proceed to merge. Testing with my displays looks good so far, but I would be interested in hearing feedback from others who may be able to try the thx |
Documentation for the revised touch configuration and calibration steps is now available: |
The orientation & touch handling update has now been integrated into the master branch from #105. Please see #105 (comment) for specifics. |
GUIslice provides dynamic screen rotation via
GuiRotate()
from #72 . As many display devices incorporate a separate touch overlay connectivity and orientation than the screen (GSLC_ROTATE
), a touch offset configuration parameter (GSLC_TOUCH_ROTATE
) has been provided to enable the display and touch handling to be kept in sync. In most cases, users just need to experiment with the 4 possible GSLC_TOUCH_ROTATE values (0..3) to see which one matches their device.If dynamic rotation via
GuiRotate
is not used (meaning that the display always maintains the same orientation as set byGSLC_ROTATE
), the current code should support touch handling correctly, provided the correctGSLC_TOUCH_ROTATE
value has been set.However, if dynamic rotation is being used, it appears that the current implementation does not provide automatically correct touch behavior for all screen rotation settings on certain displays (eg. mcufriend).
Next steps:
The text was updated successfully, but these errors were encountered: