Touchsupport

  • hm... not fully more useful, I also tried estouchy (which had to be tweaked manually for the resolution, because with default settings it did not start at all with my touchscreen). But the problem reported is exactly the same. And this is true for every menu which has no bars to scroll up/down. I assume all the skins are not made for resistive touchscreens, but only for capacitive touchscreens.

    Anyway, a workaround is to reduce the main menu points and the configs can be done once via keyboard.

  • Well, I wouldn't know the difference between them. And maybe addon never really worked. But I'm sure someone would point that out.

    Or maybe there was some change in kodi handling input. Who knows...

  • Well, I can ask directly in the kodi forum and not here as I assume there the development takes place. What I saw is that the estouchy menu structure is vertical on the left side but with increased font size. All in all not that much different from estuary. For a touch device it would be much better to place the whole menu all over the screen (like the settings main menu), and not just like a menu on the left side (maybe I oversaw some tweak to allow that?). This is more efficient and easier to handle, especially for such resistive touchscreens. And adding small arrows to touch/ click on it for vertical and/ or horizontal scrolling or adding bars if more is covered than the screen area can contain. No need to discuss this in detail, but this was already the case for the older re-touched skin (not to mention that the keyboard does not work properly anymore once the skin is active...). So using estuary instead of estouchy is a better choice in case of a resistive touchscreen + reducing the number of main menu entries, and the rest works quite fine.

    btw - please see here Estouchy Skin and scrolling?? - this problem seems to be known, it is a mixture of kodi-specific and skin. But it does not seem to be fixed in Krypton, and from the forum discussion it is also unclear whether this change made it up to the main menu and not just into settings.

  • Hi all,

    It's a bit difficult to keep track of how to get touch to work (eGalax) in LE through 258 posts :)

    I tried but easily got lost in the different conversations.

    So this quick question: does LE 8.2.x support eGalax out of the box?

    Or alternatively, does anybody have a working 8.2.x image with eGalax support?

    PS: found out the hard way that compiling on Ubuntu18.04LTS does not work. Not being an expert I gave up ;)

    Edited once, last by RAspiDave (September 22, 2018 at 3:29 PM).

  • Hello,

    I am trying to install a Waveshare 5“ touchscreen with libreELEC 8.5.2 and Kodi 17.6, but up to now without success.

    The touchscreen works fine with the Raspbian-image from the Waveshare-hompage so it seems to be technically o.k. But as soon as Kodi is started from Raspbian, the touch function stopps to work.

    In libreELEC I didn’t install any of the drivers from the Wavescreen homepage as I don’t know which one is the right one and how to get access to the tar.gz file in libreELEC. Is this o.k. or has one of these drivers to be installed and if so, how can that be done in libreELEC?

    In config.txt I added

    max_usb_current=1

    hdmi_group=2

    hdmi_mode=87

    hdmi_cvt=800 480 60 0 0 0

    I copied the files ts.conf and ts_env.sh from ts.conf-waveshare and ts_env.sh-waveshare without any changes into the folder .kodi/userdata/addon_data/service.touchscreen.

    “evtest” shows no event related to the touchscreen. The Touchscreen-Addon doesn’t work, only the loading spinner appears.

    “systemctl status ts_uinput_touch –l” gives “unit ts_uinput_touch.service could not be found” which indicates, that something is wrong.

    “systemctl status service.touchscreen –l” gives the same as in post #192 also indicating that something is wrong with ts_uinput_touch.

    Changing the Product_PID in ts_env.sh from 0005 to 0001 gives no effect.

    Are there any ideas, what is wrong or what I could try to get the touchscreen to work?

    George

  • I'm trying to get a 10,1" 1280x800 eGalax Inc. USB TouchController working on LE 9.0.0. (Kodi 18)

    At first via the out of the box method.Functionality is there out of the box. Calibration and Geometrie is left to find out. After installing the touchscreen addon from LE, it starts with a never ending working symbol.

    Kodi.log shows values from touch input. There is were I discover that the x and y axis are both swapped and wrong direction, compared to the mouse values on the same spots.

    UL: X1200,Y800 UR: X1200, Y0

    LL: X0,Y800 LR:X0, Y0

    After stopping Kodi (Systemctrl stop kodi) evtest shows the same result (but in a 4096x4096 scale)

    When I edit ts_env.sh and ts.conf as proposed in this forum. The calibration addon GUI starts and calibration is possible. Kodi now uses "tslib to uiput deamon" as device. But it just messing up the calibration and NOT changing x y direction or swapping them.

    I'm sure the calibration program is confused about the swapped axises.

    So i'm trying to get the axises swapped in LE with the "out of the box drivers" but without success.

    I tried the "module linear swap_xy=1" in the ts.conf file. but no success.

    Also tried without success to ad file "egalax_swap_xy.conf" in /storage/.config/modprobe.d with code

    Code
    options usbtouchscreen swap_xy=1

    anybody who knows if it possible to configure the default touchscreen driver for the axis swap?

    EDIT: Got my eGalax Inc. USB TouchController working now!

    I'm not sure what (or what update) did the trick, but gave it another try with a fresh install of LibreELEC 9.1.501 and Kodi 18.4. and somehow the calibration addon is working now, correctly swapping the axises.

    After fresh install 'Enable mouse and touch screen support' in Kodi System settings.

    Install the Touchscreen addon from kodi. (Version 9.1.901.102)

    Copy the two necessary files 'ts.conf' and 'ts_env.sh' in folder '/storage/.kodi/userdata/addon_data/service.touchscreen'

    ts.conf is as ts.conf-generic:

    Code
    module_raw input grab_events=1
    module pthres pmin=1
    module variance delta=30
    module dejitter delta=100
    
    module linear
    # or use swap_xy parameter to swap axes
    #module linear swap_xy=1

    ts_env.sh as some additions/changes necessary to ts_env.sh-sample

    Find out your event# and /dev/fb# as described in post#11 !

    Restart your pi and run de Touchscreen addon. This way it worked for me!

    Edited 2 times, last by Limitzm: Solution (October 14, 2019 at 10:30 PM).

  • I just installed version 9.0.1 on my RPi2 connected to my eGalax touch and wanted to install the touchscreen add-on for configuration but I get a failed. When looking into the logs it seems the add-on is not available anymore?

    2019-03-09 10:18:30.126 T:1938145952 DEBUG: CAddonInstaller: installing 'service.touchscreen' version '9.0.101' from repository 'repository.libreelec.tv'

    2019-03-09 10:18:30.186 T:1807004528 ERROR: Requested path service.touchscreen-9.0.101.zip not found in known repository directories

    2019-03-09 10:18:30.187 T:1807004528 ERROR: CAddonInstallJob[service.touchscreen]: failed to resolve addon install source path


    Can anyone point me in the rights place for the touchscreen add-on ZIP file?

    thanks a lot!

  • Hi,

    Total new this but I've built a jukebox with a 17" Elo touchscreen, using rasp pi zero w. Seems to be working good with Estouchy and sound working via Bluetooth.

    The touch is slightly off, example :say if the screen keyboard is up, if I wanted a certain letter I would have to press the letter above it to get that letter below, is there anyway to tweek the calibration. This is the case with all button selections unless it's a really big button say in settings.

    Many thanks

  • I have resolve:

    Install the service Touchscreen to the store

    create 2 file ts.conf and ts_env.sh in the folder /storage/.kodi/userdata/addon_data/service.touchscreen/

    ts.conf with:

    Code
    module_raw input grab_events=1
    module pthres pmin=1
    module variance delta=30
    module dejitter delta=100
    module linear
    # or use swap_xy parameter to swap axes
    #module linear swap_xy=1

    ts_env.sh with:

    reboot and lunch "Touchscreen" in service

  • I have an "EloTouchSystems,Inc Elo TouchSystems 2216 AccuTouch® USB Touchmonitor Interface"


    /storage/.kodi/userdata/addon_data/service.touchscreen/ts.conf

    Code
    module_raw input grab_events=1
    module pthres pmin=1
    module variance delta=30
    module dejitter delta=100
    
    module linear
    # or use swap_xy parameter to swap axes
    module linear swap_xy=1

    and /storage/.kodi/userdata/addon_data/service.touchscreen/ts_env.sh


    touch works but only a smaller range eg 1200x1000 or other, not to the boarder
    and the toucb is invert and swap modul linear swap not work for me

    an when i start the service touchscreen, the loaderbutton runs and not shown to calibrate

    whats wrong?

  • Hey folks,

    Not a help request: I've kind of made automatic detection work as well as hotplugging. Mine is a"D-WAV Ltd eGalax TouchScreen" as reported by lsusb. But instructions should work for other devices, eventually with a bit of tweaking.This is how it goes; and requires that you managed to install and calibrate the extension first.

    I was buggered that hardcoding /dev/input/eventX in ts_env.sh went wrong especially when I've plugged in other devices, or when I turn off and back on the touchscreen. So I've setup udev and systemd to make the work. Bear with me:

    in /storage/.kodi/userdata/addon_data/service.touchscreen/ts_env.sh set the TSLIB_TSDEVICE to /dev/touchscreen:

    Code
    export TSLIB_TSDEVICE="/dev/touchscreen"

    Create a udev rule as /storage/.config/udev.rules.d/90-touchscreen.rules

    Code
    KERNEL=="event*", SUBSYSTEM=="input", ATTRS{name}=="*Touchscreen*|*touchscreen*|*TOUCHSCREEN*", SYMLINK+="touchscreen", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/touchscreen", ENV{SYSTEMD_WANTS}="service.touchscreen.service"

    Attention, no line breaks! Hopefully your device reports itself as Touchscreen (eGalax does) but you may need to change ATTRS{name} bit.

    You can verify the rule by checking if /dev/touchscreen gets created when you plug in the screen (or turn it on). Oh: its udevadm control --reload-rules to apply your fresh rule. And you can dig ATTRS{name} with udevadm info --attribute-walk /dev/input/eventX if you need it.

    Last part, we'll hook this to systemd service so it get started and stopped with the device. Edit /storage/.config/system.d/service.touchscreen.service and add at the end of [Unit] section:

    Code
    [Unit]
    ...
    BindsTo=dev-touchscreen.device
    After=dev-touchscreen.device

    apply changes with systemctl daemon-reload

    And voilà! Your device should now be autodetected and recalibrated on hotplug.

    Hope this is helpful to some :)

    Edited 2 times, last by Cygn: refined udev.rules (May 2, 2021 at 1:43 AM).