ballaswag / guppyscreen

A native Touch UI for 3D Printers running Klipper/Moonraker.
GNU General Public License v3.0
156 stars 14 forks source link

Nebula touch screen calibration #54

Open ajs123 opened 1 month ago

ajs123 commented 1 month ago

By adding code to log coordinates, I determined a good calibration for my Nebula pad (KE). On my unit, these result in the touchscreen coordinates matching the display coordinates at the edges of the screen.

In lv_drv_conf.h:

#  if EVDEV_CALIBRATE
#    define EVDEV_HOR_MIN         190 //0               /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/
#    define EVDEV_HOR_MAX      3850 //4096               /*"evtest" Linux tool can help to get the correct calibraion values>*/
#    define EVDEV_VER_MIN         300 //0
#    define EVDEV_VER_MAX      3749 //4096
#  endif  /*EVDEV_CALIBRATE*/
#endif  /*USE_EVDEV*/
spitfire commented 1 month ago

Nice, I was having issues with hitting some targets close to the edge of the screen (like the refresh button on the file picker...).

moriceh commented 1 month ago

+1 on this, it would be very nice if we could change those values in a config file without having to rebuild the entire project, too :)

Liionboy commented 1 month ago

Create a PR with this to be implement in next version

jktikka commented 3 days ago

I am affected by this to the point of not being able to use Guppyscreen.

Would love to see a fix for someone with less linux knowledge.

ballaswag commented 2 days ago

@jktikka calibration is released in the latest build. Give that a try. It should fix the touch inputs on a nebula pad.

jktikka commented 2 days ago

@ballaswag Is that using the commands on in the readme? I tried current and nightly and still no good unfortunatly.