Changes between Version 20 and Version 21 of ventana/LVDS
- Timestamp:
- 09/24/2021 03:58:51 PM (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ventana/LVDS
v20 v21 204 204 I2C based touch controllers are configured via Linux device-tree and each driver can have its own set of properties (device-tree bindings) which are documented in the kernel's Documentation/devicetree/bindings/input/touchscreen directory. There is a set of common properties supported for all I2C based touch controllers as well to handle mapping of touch sensor coordinates to display coordinates. 205 205 206 Note that the display coordinate system may differ from the touch controller coordinate system and that the display coordinate system is dependent upon any library or framework you are using and for the orientation of the device. For example for raw kernel Linux display coordinate 0,0 is at the top-left of the screen. The touch controller will report x and y coordinates depending on its physical sensors and orientation and depending on screen orientation this could be such that 0,0 is at the bottom-left of the screen. Additionally the resolution of the display may be 1024x768 yet the touch controller resolution may be 1024x1024 . Therefore most likely you will need to map and translate the touch coordinates to the display coordinates. This mapping and translation can be performed by the Linux kernel in modern kernels.206 Note that the display coordinate system may differ from the touch controller coordinate system and that the display coordinate system is dependent upon any library or framework you are using and for the orientation of the device. For example for raw kernel Linux display coordinate 0,0 is at the top-left of the screen. The touch controller will report x and y coordinates depending on its physical sensors and orientation and depending on screen orientation this could be such that 0,0 is at the bottom-left of the screen. Additionally the resolution of the display may be 1024x768 yet the touch controller resolution may be 1024x1024 requring you to scale the output. The Linux kernel touchscreen core can invert and swap axis as well as clip values outside a min and size via device-tree properties. Any scaling would need to be performed in userspace and there are methods to use depending on the software stack your GUI application uses. 207 207 208 208 Example: