• 1
  • 5
  • 6
  • 7(current)
  • 8
  • 9
Linux fix tslib integration
#91
Did you started ts_uinput_touch BEFORE Kodi? This is very, very important.

And from what I see you don't have ts.conf correct because you have x and y coordinate and pressure the same (1191708 1191708 1191708). This is wrong. X coordinates should be 0-1279, y coordinates 0-799 and pressure 0 or 255.
Reply
#92
I read through the thread, and your other threads at openelec several times. ts_uinput_touch is running before kodi.
But it looks like I have more of a fundamental issue with the touchscreen input being reported incorrectly.

I'm not sure what to do about that. the ts.conf is pretty simple.
Code:
module_raw input grab_events=1
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear

I tried all the other modules in order, and they all return strange results.
Reply
#93
Then you don't have correct TSLIB_TSDEVICE specified in ts_env.sh or wherever you set all those environment variables. You should see output from ts_uinput_touch only when you touch your display.
Reply
#94
Right, I am only seeing input when I touch the display, but apparently the input is incorrect. Since I've never seen this work, I wasn't aware that the output was wrong Smile

I don't think I have the wrong device:
Code:
#ls -l /dev/input/by-id/
total 0
lrwxrwxrwx 1 root root 9 Nov  1 13:33 usb-Chalkboard_Electronics_HID_Touchscreen-event-mouse -> ../event0
lrwxrwxrwx 1 root root 9 Nov  1 13:33 usb-Chalkboard_Electronics_HID_Touchscreen-mouse -> ../mouse0

Code:
# /opt/tslib/bin/ts_uinput_touch
using fb device: /dev/fb0
resolution: 1280x800
using touch device: /dev/input/by-id/usb-Chalkboard_Electronics_HID_Touchscreen-event-mouse
5216.005216: 1191708 1191708 1191708  touched
5216.005216: 1191708 1191708 1191708  touched

The first touch event shows up when I touch the panel. The second touch event is when I release the touch.
Reply
#95
Thank you ultraman for your excellent contribution!

I'm trying to get this running on a Raspberry Pi 2 with Raspbian Jessie, and Kodi started from command line as user "pi". There are a couple of caveats I would like to mention, either to help others trying the same or just to be told that something went wrong... after all it's not quite working here yet.

I got the sources from git and tried to compile and make the usual (old, known to me) way: ./configure; make; make install - just as it says in "INSTALL". But it seems like INSTALL is a default file and not specific to this project. So I figured out it had to be built this way:

Code:
sudo autoreconf --verbose --force --install
sudo ./configure
sudo make
sudo make install

This went through, but with a lot of warnings (normal?). If I had payed close attention to all the messages, I would have read that the libraries were installed in /usr/local/lib/.
I set the environment variables. Since I'm working as user "pi", I put the exports in his .bashrc. Checking the export values and looking for the existence of all referenced files, I found that there were no ts-libraries in /usr/lib/. I got nervous and installed other packages and at the end uninstalling them again (tslib-related stuff) when I realized I had the libraries in /usr/local/lib and tslib was included in your package (right?). So I changed the export statement to reflect the different lib path:

Code:
export TSLIB_PLUGINDIR=/usr/local/lib/ts

(Likewise, the binaries are in /usr/local/bin but this hasn't been a problem so far.)

Then I found that /etc/ts/pointercal doesn't exist and I assumed it would be written when calibrating (should it be?).

Tried to run ts_uinput_touch -d with sudo, which was difficult because I had set the exports only in pi's .bashrc and ts_uinput_touch had no configuration. Found out that sudo's -E option this keeps the current environment, so the following worked:

Code:
sudo -E ts_uinput_touch -d

Then I started kodi and tried to install the calibration addon. Didn't work through the GUI because it was neither a zip file nor available online. Quit kodi. Copied the addon manually to ~/.kodi/... Started kodi again, the addon showed up in programs, clicked on it and nothing happened besides the loading animation spinning.
Started kodi again and searched for a new input device (as mentioned somewhere in this thread), but there was nothing new.

Since the kodi calibration wasn't working, I tried ts_calibrate, which worked fine and I wrote down the values. What do I have to do with them? Or is ts_calibrate supposed to write the calibration data somehwere?

So this is the current status, thought I had it working at the end at 1 a.m. but something seems to be missing or went wrong along the way. Any help greatly appreciated!
Reply
#96
Ok I got a bit further now. The problems reported above seem to have been caused by an overwritten (by my panic tslib package installation?) and thus wrong /etc/ts/ts.conf. I changed the module_raw again to "module_raw galax grab_events=1" and could use the calibration plugin. I have a Pollin 8" display with eGalax touch. I also found the pointercal, it was in /etc/ts/pointercal - changed the path in and move the file over.

No new input device shows up in Kodi - should it? What would it be called?

Touch still isn't working. Before it did but was uncalibrated, now it doesn't at all, no cursor is shown when I touch. But it seems to receive some touch information. E.g. at the end of the calibration, the OK button is highlighted/in focus. If I touch the display, it loses focus.

I compared the output of evtest of event1 directly vs. through uinput:

event1, ABS_X and ABS_Y continuously received:
Code:
Event: time 1449358693.807996, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449358693.807996, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449358693.807996, type 3 (EV_ABS), code 0 (ABS_X), value 154
Event: time 1449358693.807996, type 3 (EV_ABS), code 1 (ABS_Y), value 264
Event: time 1449358693.807996, -------------- EV_SYN ------------
Event: time 1449358693.855972, type 3 (EV_ABS), code 1 (ABS_Y), value 263
Event: time 1449358693.855972, -------------- EV_SYN ------------
Event: time 1449358693.879978, type 3 (EV_ABS), code 0 (ABS_X), value 153
Event: time 1449358693.879978, -------------- EV_SYN ------------
Event: time 1449358693.903978, type 3 (EV_ABS), code 0 (ABS_X), value 152
Event: time 1449358693.903978, type 3 (EV_ABS), code 1 (ABS_Y), value 262
[...]

uinput processed input from event1, ABS_X and ABS_Y only received at first touch (and strange values):
Code:
Event: time 1449358764.400669, type 3 (EV_ABS), code 0 (ABS_X), value -21
Event: time 1449358764.400669, type 3 (EV_ABS), code 1 (ABS_Y), value -37
Event: time 1449358764.400669, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449358764.400669, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449358764.400669, -------------- EV_SYN ------------
Event: time 1449358765.008750, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449358765.008750, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449358765.008750, -------------- EV_SYN ------------
Event: time 1449358765.192745, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449358765.192745, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449358765.192745, -------------- EV_SYN ------------
Event: time 1449358765.224775, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449358765.224775, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449358765.224775, -------------- EV_SYN ------------
Event: time 1449358765.400767, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449358765.400767, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449358765.400767, -------------- EV_SYN ------------
[...]

To me this looks strange. There's no X/Y data, so no wonder kodi can't show the cursor.
Reply
#97
stop kodi
run ts_uinput_touch in one terminal
run evtest in another terminal
you have to see new input device "tslib to uinput daemon"
select it and touch display, you should see correct coordinates
if not calibrate it with kodi addon or ts_calibrate (stop ts_uinput_touch in this case)
Reply
#98
The result is as in my last post, only touches are recorded, no coordinates.
I can "successfully" run the kodi calibration plugin. But touch is not working because of missing coordinates.

When I change the module_raw in ts.conf back to "module_raw input", I do get the coordinates in evtest from uinput touch. And in kodi the touchscreen works, but is not calibrated (yes, daemon is running). The calibration plugin then doesn't accept my touches at the crosshairs but instead shows me the cursor (in the wrong place) when I touch the screen, so no calibration possible.

I'm still wondering: Do I have to select another input device in kodi or configure it somewhere? In the input device section, I only have touch & mouse enabled and under devices there's always (daemon or not) one device ("cec adapter").
Reply
#99
Kodi automatically uses new input device. No need to do anything.

I don't know what can be in your case. I don't have any egalax or any other screen to test (only have 2 official displays for Udoo). But it is confirmed it is working also with waveshare screens.

If display is supported by tslib it should also be supported with my program.

Stop my daemon and run evtest directly on screen. And post the result with few touches (top/left, top/right/, ...) so I can see if there is something different I don't understand.
Reply
Tracing event1:
--------------------

This is with ts.conf using module_raw input:

Code:
root@raspberrypi:/home/pi# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:    eGalax Inc. Touch
/dev/input/event1:    eGalax Inc. Touch
/dev/input/event2:    Logitech
/dev/input/event3:    CHESEN USB Keyboard
/dev/input/event4:    CHESEN USB Keyboard
Select the device event number [0-4]: 1
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x112
Input device name: "eGalax Inc. Touch"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value   1742
      Min        0
      Max     2047
    Event code 1 (ABS_Y)
      Value    133
      Min        0
      Max     2047
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1449406913.060466, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406913.060466, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449406913.060466, type 3 (EV_ABS), code 0 (ABS_X), value 180
Event: time 1449406913.060466, type 3 (EV_ABS), code 1 (ABS_Y), value 276
Event: time 1449406913.060466, -------------- EV_SYN ------------
Event: time 1449406913.188456, type 3 (EV_ABS), code 0 (ABS_X), value 181
Event: time 1449406913.188456, type 3 (EV_ABS), code 1 (ABS_Y), value 277
Event: time 1449406913.188456, -------------- EV_SYN ------------
Event: time 1449406913.196460, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406913.196460, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449406913.196460, -------------- EV_SYN ------------
Event: time 1449406913.828549, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406913.828549, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449406913.828549, type 3 (EV_ABS), code 0 (ABS_X), value 1818
Event: time 1449406913.828549, type 3 (EV_ABS), code 1 (ABS_Y), value 402
Event: time 1449406913.828549, -------------- EV_SYN ------------
Event: time 1449406913.868541, type 3 (EV_ABS), code 1 (ABS_Y), value 401
Event: time 1449406913.868541, -------------- EV_SYN ------------
Event: time 1449406913.916546, type 3 (EV_ABS), code 1 (ABS_Y), value 399
Event: time 1449406913.916546, -------------- EV_SYN ------------
Event: time 1449406913.940560, type 3 (EV_ABS), code 0 (ABS_X), value 1819
Event: time 1449406913.940560, type 3 (EV_ABS), code 1 (ABS_Y), value 396
Event: time 1449406913.940560, -------------- EV_SYN ------------
Event: time 1449406913.948569, type 3 (EV_ABS), code 0 (ABS_X), value 1820
Event: time 1449406913.948569, type 3 (EV_ABS), code 1 (ABS_Y), value 389
Event: time 1449406913.948569, -------------- EV_SYN ------------
Event: time 1449406913.956551, type 3 (EV_ABS), code 0 (ABS_X), value 1821
Event: time 1449406913.956551, type 3 (EV_ABS), code 1 (ABS_Y), value 376
Event: time 1449406913.956551, -------------- EV_SYN ------------
Event: time 1449406913.964554, type 3 (EV_ABS), code 0 (ABS_X), value 1823
Event: time 1449406913.964554, type 3 (EV_ABS), code 1 (ABS_Y), value 359
Event: time 1449406913.964554, -------------- EV_SYN ------------
Event: time 1449406913.972554, type 3 (EV_ABS), code 0 (ABS_X), value 1825
Event: time 1449406913.972554, type 3 (EV_ABS), code 1 (ABS_Y), value 340
Event: time 1449406913.972554, -------------- EV_SYN ------------
Event: time 1449406913.980556, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406913.980556, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449406913.980556, -------------- EV_SYN ------------
Event: time 1449406914.500623, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406914.500623, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449406914.500623, type 3 (EV_ABS), code 0 (ABS_X), value 1850
Event: time 1449406914.500623, type 3 (EV_ABS), code 1 (ABS_Y), value 1798
Event: time 1449406914.500623, -------------- EV_SYN ------------
Event: time 1449406914.548619, type 3 (EV_ABS), code 1 (ABS_Y), value 1799
Event: time 1449406914.548619, -------------- EV_SYN ------------
Event: time 1449406914.572625, type 3 (EV_ABS), code 1 (ABS_Y), value 1800
Event: time 1449406914.572625, -------------- EV_SYN ------------
Event: time 1449406914.596629, type 3 (EV_ABS), code 1 (ABS_Y), value 1801
Event: time 1449406914.596629, -------------- EV_SYN ------------
Event: time 1449406914.612628, type 3 (EV_ABS), code 1 (ABS_Y), value 1802
Event: time 1449406914.612628, -------------- EV_SYN ------------
Event: time 1449406914.636631, type 3 (EV_ABS), code 0 (ABS_X), value 1853
Event: time 1449406914.636631, -------------- EV_SYN ------------
Event: time 1449406914.644634, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406914.644634, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449406914.644634, -------------- EV_SYN ------------
Event: time 1449406915.228714, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406915.228714, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449406915.228714, type 3 (EV_ABS), code 0 (ABS_X), value 218
Event: time 1449406915.228714, type 3 (EV_ABS), code 1 (ABS_Y), value 1660
Event: time 1449406915.228714, -------------- EV_SYN ------------
Event: time 1449406915.276712, type 3 (EV_ABS), code 1 (ABS_Y), value 1661
Event: time 1449406915.276712, -------------- EV_SYN ------------
Event: time 1449406915.292715, type 3 (EV_ABS), code 0 (ABS_X), value 219
Event: time 1449406915.292715, type 3 (EV_ABS), code 1 (ABS_Y), value 1663
Event: time 1449406915.292715, -------------- EV_SYN ------------
Event: time 1449406915.316720, type 3 (EV_ABS), code 0 (ABS_X), value 220
Event: time 1449406915.316720, type 3 (EV_ABS), code 1 (ABS_Y), value 1666
Event: time 1449406915.316720, -------------- EV_SYN ------------
Event: time 1449406915.340721, type 3 (EV_ABS), code 0 (ABS_X), value 224
Event: time 1449406915.340721, type 3 (EV_ABS), code 1 (ABS_Y), value 1669
Event: time 1449406915.340721, -------------- EV_SYN ------------
Event: time 1449406915.348720, type 3 (EV_ABS), code 0 (ABS_X), value 232
Event: time 1449406915.348720, type 3 (EV_ABS), code 1 (ABS_Y), value 1672
Event: time 1449406915.348720, -------------- EV_SYN ------------
Event: time 1449406915.356721, type 3 (EV_ABS), code 0 (ABS_X), value 243
Event: time 1449406915.356721, type 3 (EV_ABS), code 1 (ABS_Y), value 1673
Event: time 1449406915.356721, -------------- EV_SYN ------------
Event: time 1449406915.364725, type 3 (EV_ABS), code 0 (ABS_X), value 254
Event: time 1449406915.364725, -------------- EV_SYN ------------
Event: time 1449406915.372724, type 3 (EV_ABS), code 0 (ABS_X), value 263
Event: time 1449406915.372724, type 3 (EV_ABS), code 1 (ABS_Y), value 1672
Event: time 1449406915.372724, -------------- EV_SYN ------------
Event: time 1449406915.396727, type 3 (EV_ABS), code 0 (ABS_X), value 268
Event: time 1449406915.396727, type 3 (EV_ABS), code 1 (ABS_Y), value 1670
Event: time 1449406915.396727, -------------- EV_SYN ------------
Event: time 1449406915.404729, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449406915.404729, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449406915.404729, -------------- EV_SYN ------------

This is with ts.conf using module_raw galax grab_events=1:
Code:
root@raspberrypi:/home/pi# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:    eGalax Inc. Touch
/dev/input/event1:    eGalax Inc. Touch
/dev/input/event2:    Logitech
/dev/input/event3:    CHESEN USB Keyboard
/dev/input/event4:    CHESEN USB Keyboard
Select the device event number [0-4]: 1
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0xeef product 0x1 version 0x112
Input device name: "eGalax Inc. Touch"
Supported events:
  Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 320 (BTN_TOOL_PEN)
    Event code 330 (BTN_TOUCH)
  Event type 3 (EV_ABS)
    Event code 0 (ABS_X)
      Value    268
      Min        0
      Max     2047
    Event code 1 (ABS_Y)
      Value   1670
      Min        0
      Max     2047
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1449407148.761487, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407148.761487, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407148.761487, type 3 (EV_ABS), code 0 (ABS_X), value 196
Event: time 1449407148.761487, type 3 (EV_ABS), code 1 (ABS_Y), value 362
Event: time 1449407148.761487, -------------- EV_SYN ------------
Event: time 1449407148.873474, type 3 (EV_ABS), code 1 (ABS_Y), value 361
Event: time 1449407148.873474, -------------- EV_SYN ------------
Event: time 1449407148.921483, type 3 (EV_ABS), code 0 (ABS_X), value 197
Event: time 1449407148.921483, type 3 (EV_ABS), code 1 (ABS_Y), value 360
Event: time 1449407148.921483, -------------- EV_SYN ------------
Event: time 1449407148.945487, type 3 (EV_ABS), code 0 (ABS_X), value 199
Event: time 1449407148.945487, type 3 (EV_ABS), code 1 (ABS_Y), value 357
Event: time 1449407148.945487, -------------- EV_SYN ------------
Event: time 1449407148.969493, type 3 (EV_ABS), code 0 (ABS_X), value 203
Event: time 1449407148.969493, type 3 (EV_ABS), code 1 (ABS_Y), value 354
Event: time 1449407148.969493, -------------- EV_SYN ------------
Event: time 1449407148.977492, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407148.977492, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407148.977492, -------------- EV_SYN ------------
Event: time 1449407150.049631, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407150.049631, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407150.049631, type 3 (EV_ABS), code 0 (ABS_X), value 1760
Event: time 1449407150.049631, type 3 (EV_ABS), code 1 (ABS_Y), value 408
Event: time 1449407150.049631, -------------- EV_SYN ------------
Event: time 1449407150.113627, type 3 (EV_ABS), code 0 (ABS_X), value 1762
Event: time 1449407150.113627, type 3 (EV_ABS), code 1 (ABS_Y), value 407
Event: time 1449407150.113627, -------------- EV_SYN ------------
Event: time 1449407150.137640, type 3 (EV_ABS), code 0 (ABS_X), value 1766
Event: time 1449407150.137640, type 3 (EV_ABS), code 1 (ABS_Y), value 406
Event: time 1449407150.137640, -------------- EV_SYN ------------
Event: time 1449407150.145648, type 3 (EV_ABS), code 0 (ABS_X), value 1773
Event: time 1449407150.145648, type 3 (EV_ABS), code 1 (ABS_Y), value 401
Event: time 1449407150.145648, -------------- EV_SYN ------------
Event: time 1449407150.153641, type 3 (EV_ABS), code 0 (ABS_X), value 1783
Event: time 1449407150.153641, type 3 (EV_ABS), code 1 (ABS_Y), value 388
Event: time 1449407150.153641, -------------- EV_SYN ------------
Event: time 1449407150.161638, type 3 (EV_ABS), code 0 (ABS_X), value 1793
Event: time 1449407150.161638, type 3 (EV_ABS), code 1 (ABS_Y), value 369
Event: time 1449407150.161638, -------------- EV_SYN ------------
Event: time 1449407150.169638, type 3 (EV_ABS), code 0 (ABS_X), value 1800
Event: time 1449407150.169638, type 3 (EV_ABS), code 1 (ABS_Y), value 346
Event: time 1449407150.169638, -------------- EV_SYN ------------
Event: time 1449407150.177639, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407150.177639, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407150.177639, -------------- EV_SYN ------------
Event: time 1449407150.801723, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407150.801723, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407150.801723, type 3 (EV_ABS), code 0 (ABS_X), value 1804
Event: time 1449407150.801723, type 3 (EV_ABS), code 1 (ABS_Y), value 1744
Event: time 1449407150.801723, -------------- EV_SYN ------------
Event: time 1449407150.841715, type 3 (EV_ABS), code 0 (ABS_X), value 1803
Event: time 1449407150.841715, -------------- EV_SYN ------------
Event: time 1449407150.889727, type 3 (EV_ABS), code 0 (ABS_X), value 1802
Event: time 1449407150.889727, type 3 (EV_ABS), code 1 (ABS_Y), value 1743
Event: time 1449407150.889727, -------------- EV_SYN ------------
Event: time 1449407150.913728, type 3 (EV_ABS), code 0 (ABS_X), value 1801
Event: time 1449407150.913728, type 3 (EV_ABS), code 1 (ABS_Y), value 1742
Event: time 1449407150.913728, -------------- EV_SYN ------------
Event: time 1449407150.937732, type 3 (EV_ABS), code 1 (ABS_Y), value 1738
Event: time 1449407150.937732, -------------- EV_SYN ------------
Event: time 1449407150.945731, type 3 (EV_ABS), code 0 (ABS_X), value 1802
Event: time 1449407150.945731, type 3 (EV_ABS), code 1 (ABS_Y), value 1731
Event: time 1449407150.945731, -------------- EV_SYN ------------
Event: time 1449407150.953733, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407150.953733, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407150.953733, -------------- EV_SYN ------------
Event: time 1449407151.753842, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407151.753842, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407151.753842, type 3 (EV_ABS), code 0 (ABS_X), value 242
Event: time 1449407151.753842, type 3 (EV_ABS), code 1 (ABS_Y), value 1680
Event: time 1449407151.753842, -------------- EV_SYN ------------
Event: time 1449407151.801834, type 3 (EV_ABS), code 0 (ABS_X), value 241
Event: time 1449407151.801834, -------------- EV_SYN ------------
Event: time 1449407151.825840, type 3 (EV_ABS), code 1 (ABS_Y), value 1681
Event: time 1449407151.825840, -------------- EV_SYN ------------
Event: time 1449407151.849843, type 3 (EV_ABS), code 0 (ABS_X), value 240
Event: time 1449407151.849843, -------------- EV_SYN ------------
Event: time 1449407151.865845, type 3 (EV_ABS), code 0 (ABS_X), value 241
Event: time 1449407151.865845, -------------- EV_SYN ------------
Event: time 1449407151.889848, type 3 (EV_ABS), code 0 (ABS_X), value 243
Event: time 1449407151.889848, type 3 (EV_ABS), code 1 (ABS_Y), value 1678
Event: time 1449407151.889848, -------------- EV_SYN ------------
Event: time 1449407151.897851, type 4 (EV_MSC), code 4 (MSC_SCAN), value d0042
Event: time 1449407151.897851, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407151.897851, -------------- EV_SYN ------------

Tracing uinput:
--------------------
with module_raw input:
Code:
Event: time 1449407462.128094, type 3 (EV_ABS), code 0 (ABS_X), value 48
Event: time 1449407462.128094, type 3 (EV_ABS), code 1 (ABS_Y), value 77
Event: time 1449407462.128094, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407462.128094, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407462.128094, -------------- EV_SYN ------------
Event: time 1449407462.152104, type 3 (EV_ABS), code 0 (ABS_X), value 49
Event: time 1449407462.152104, -------------- EV_SYN ------------
Event: time 1449407462.160095, type 3 (EV_ABS), code 0 (ABS_X), value 50
Event: time 1449407462.160095, -------------- EV_SYN ------------
Event: time 1449407462.168089, type 3 (EV_ABS), code 0 (ABS_X), value 51
Event: time 1449407462.168089, -------------- EV_SYN ------------
Event: time 1449407462.168126, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407462.168126, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407462.168126, -------------- EV_SYN ------------
Event: time 1449407463.272224, type 3 (EV_ABS), code 0 (ABS_X), value 938
Event: time 1449407463.272224, type 3 (EV_ABS), code 1 (ABS_Y), value 89
Event: time 1449407463.272224, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407463.272224, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407463.272224, -------------- EV_SYN ------------
Event: time 1449407463.272268, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407463.272268, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407463.272268, -------------- EV_SYN ------------
Event: time 1449407464.088337, type 3 (EV_ABS), code 0 (ABS_X), value 936
Event: time 1449407464.088337, type 3 (EV_ABS), code 1 (ABS_Y), value 701
Event: time 1449407464.088337, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407464.088337, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407464.088337, -------------- EV_SYN ------------
Event: time 1449407464.136339, type 3 (EV_ABS), code 1 (ABS_Y), value 700
Event: time 1449407464.136339, -------------- EV_SYN ------------
Event: time 1449407464.168363, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407464.168363, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407464.168363, -------------- EV_SYN ------------
Event: time 1449407465.080505, type 3 (EV_ABS), code 0 (ABS_X), value 63
Event: time 1449407465.080505, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407465.080505, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407465.080505, -------------- EV_SYN ------------
Event: time 1449407465.120505, type 3 (EV_ABS), code 0 (ABS_X), value 62
Event: time 1449407465.120505, type 3 (EV_ABS), code 1 (ABS_Y), value 701
Event: time 1449407465.120505, -------------- EV_SYN ------------
Event: time 1449407465.144594, type 3 (EV_ABS), code 1 (ABS_Y), value 702
Event: time 1449407465.144594, -------------- EV_SYN ------------
Event: time 1449407465.152515, type 3 (EV_ABS), code 0 (ABS_X), value 61
Event: time 1449407465.152515, type 3 (EV_ABS), code 1 (ABS_Y), value 703
Event: time 1449407465.152515, -------------- EV_SYN ------------
Event: time 1449407465.152569, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407465.152569, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407465.152569, -------------- EV_SYN ------------

with module_raw galax grab_events=1:
Code:
Event: time 1449407395.431907, type 3 (EV_ABS), code 0 (ABS_X), value -22
Event: time 1449407395.431907, type 3 (EV_ABS), code 1 (ABS_Y), value -35
Event: time 1449407395.431907, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407395.431907, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407395.431907, -------------- EV_SYN ------------
Event: time 1449407395.503933, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407395.503933, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407395.503933, -------------- EV_SYN ------------
Event: time 1449407396.175983, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407396.175983, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407396.175983, -------------- EV_SYN ------------
Event: time 1449407396.248041, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407396.248041, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407396.248041, -------------- EV_SYN ------------
Event: time 1449407396.848072, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407396.848072, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407396.848072, -------------- EV_SYN ------------
Event: time 1449407396.880110, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407396.880110, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407396.880110, -------------- EV_SYN ------------
Event: time 1449407397.600159, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 255
Event: time 1449407397.600159, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 1
Event: time 1449407397.600159, -------------- EV_SYN ------------
Event: time 1449407397.672193, type 3 (EV_ABS), code 24 (ABS_PRESSURE), value 0
Event: time 1449407397.672193, type 1 (EV_KEY), code 330 (BTN_TOUCH), value 0
Event: time 1449407397.672193, -------------- EV_SYN ------------
Reply
As you noted, this post is quite dated, and I don’t think tslib is really supported with X any more.Ironically, I just tested on a 1280×800 (7″) resistive panel with a TSC2004, and found that all I needed was the “InvertY” option.
Reply
You are using X server? Then just use what X server provides. I think it already has support for touchscreens.

InvertY option doesn't exist in tslib modules. But this just means top is bottom and vice versa.
From what I see your screen doesn't send ABS_PRESSURE value. But this should be handled in tslib itself.

I don't really has any idea how to fix this issues. Because I personally doesn't use X server I never tried this configuration. And it is not on my todo list for nothing.
Reply
Ultraman,

just want to make sure you don't confuse me with Concestly: I'm not using X.

What do you think about my traces? Isn't it strange that I get no ABS_X/Y values (besides right at the first touch) with "module_raw galax grab_events=1" from ts_uinput_touch, but directly from event1 I do? It looks like the daemon is swallowing the ABS_X/Y from event1 when using "module_raw galax grab_events=1".
Reply
Ok, my mistake then for X.

Like I wrote few posts back run ts_uinput_touch in one terminal and post it's output. Stop kodi before that.
And do you have correct TSLIB_TSDEVICE?
Reply
Code:
root@raspberrypi:/home/pi# ts_uinput_touch -d

ts_uinput_touch environment variables:
TSLIB_TSDEVICE: '/dev/input/event1'
TSLIB_PLUGINDIR: '/usr/local/lib/ts'
TSLIB_CONSOLEDEVICE: 'none'
TSLIB_FBDEVICE: '/dev/fb0'
TSLIB_CALIBFILE: '/etc/pointercal'
TSLIB_CONFFILE: '/etc/ts/ts.conf'
TSLIB_RES_X: '(null)'
TSLIB_RES_Y: '(null)'
TSLIB_TOUCH_HOME_TIME: '(null)'

using fb device: /dev/fb0
resolution: 1024x768
using touch device: /dev/input/event1
daemonizing...

TSLIB_DEVICE /dev/input/event1 is the right one, I checked with evtest (see above)
Reply
  • 1
  • 5
  • 6
  • 7(current)
  • 8
  • 9

Logout Mark Read Team Forum Stats Members Help
fix tslib integration0