Touchscreen support (was Re: new computer, strange usb messages at boot)

Anthony Jenkins Scoobi_doo at yahoo.com
Tue Mar 1 13:51:22 UTC 2016


On 03/01/2016 12:30 AM, Sergey V. Dyatko wrote:
> On Mon, 22 Feb 2016 17:51:00 +0100
> Hans Petter Selasky <hps at selasky.org> wrote: 
>
>> On 02/22/16 17:39, Anthony Jenkins wrote:
>>>
>>> On 02/22/2016 02:11 AM, Hans Petter Selasky wrote:  
>>>> On 02/22/16 03:16, Anthony Jenkins wrote:  
>>>>> Yes.  I have an eGalax touchscreen and it's doing the same thing. The
>>>>> number of items it's reporting is 256 (according to my preliminary
>>>>> debugging), causing the warning.  I think these things are a special
>>>>> subclass of HID for multitouch touchscreens which we don't support
>>>>> (yet).  
>>>> /usr/ports/multimedia/webcamd will most likely attach if invoked
>>>> manually, to this device and provide an event device for you!
>>>>
>>>> --HPS  
>>> Okay that's /amazing/, and not at all intuitive!  I mean I'd expect
>>> multimedia/webcamd to only attach to "video" devices, but lo and behold
>>> I get a /dev/input/event0 device which spits out gibberish when
>>> cat(1)'ed and I touch the screen!
>>>
>>> My intentions were to port Linux's hid-multitouch device in whole to
>>> FreeBSD (it's what attaches to my eGalax device and probably to OP's
>>> touchscreen device) and add support for the device to moused(8), but
>>> it's not very high on my priority list...
>>>  
>> Hi,
>>
>> If you apply these patches, will work with your X-org :-)
>>
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196678
>>
> wow...
> Thanks for your work :) 
>
> Yesterday I update -CURRENT on my lenovo z400 touch ( r296180),  after
> suspend-resume I spotted that is my usb mouse didn't work (touchpad works as
> before)
> I had the feeling that I read something about hid_get_item: Number of
> items(256) truncated to 255 on ML, so I'm here. 
>
> What I do: 
> laptop# webcamd -l
> Available device(s):
> ....
> webcamd [-d ugen0.2] -N Synaptics-Large-Touch-Screen-SYNAPTICS -S unknown -M 0
> ...
> Show webcamd usage:
> webcamd -h
> laptop# webcamd  -N Synaptics-Large-Touch-Screen-SYNAPTICS -S unknown -M 0
> Attached to ugen0.2[0]
> Creating /dev/input/event0
>
> after that I reconnect my mouse and 'it works' (c) 
> How I can do this   automatically right?
I got my touchscreen working with the multimedia/webcamd and
x11-drivers/xf86-input-evdev ports and an entry in
/usr/local/etc/devd/webcamd.conf for my eGalax USB touchscreen device. 
In webcamd.conf, you can copy the section

# Generic USB input devices.
notify 100 {
        match "system"          "USB";
        match "subsystem"       "INTERFACE";
        match "type"            "ATTACH";
        match "intclass"        "0x03";
#
# Limit HID device attach to Wacom Devices
# else webcamd might attach to your keyboard
# and mouse
#
        match "vendor"          "0x056a";
        action "/usr/local/etc/rc.d/webcamd start $cdev $interface";
};

to a new section, changing the 'match "vendor" line to match the USB
VendorID of your input device and possibly adding a 'match "product" line:

$ sudo usbconfig -d ugen1.2 dump_device_desc | grep 'id\(Vendor\|Product\)'
  idVendor = 0x0eef
  idProduct = 0xa119

# My eGalax Touchscreen device.
notify 100 {
        match "system"          "USB";
        match "subsystem"       "INTERFACE";
        match "type"            "ATTACH";
        match "intclass"        "0x03";
        match "vendor"          "0x0eef";
        match "product"          "0xa119";
        action "/usr/local/etc/rc.d/webcamd start $cdev $interface";
};

replacing "ugen1.2" above with your "ugen0.2" as well as the vendor and
product values.

-- 
Anthony Jenkins




More information about the freebsd-current mailing list