пт, 11 сент. 2020 г. в 23:58, Hans de Goede <hdegoede@xxxxxxxxxx>: > > Hi, > > On 9/11/20 10:40 PM, Dmitry Tunin wrote: > > Hi Hans, > > > > Thanks for the reply. > >> > >> Hi Dmitry, > >> > >> So I found some pictures and when you say "press a button on the touchpad" > >> you mean touch the icon in the top right corner of the touchpad I assume? > > > > Exactly. > >> > >> So not really a physical button, right ? Given that there is a keyboard > >> HID interface on the touchpad, I guess that that corner-button is handled > >> in software by the Windows driver and the Windows driver then sends a command > >> to the touchpad to switch to numpad mode and then the rest is handled by > >> firmware in the touchpad. > >> > >> Which leaves the challenge of switching the touchpad to numpad mode > >> (and back again). > >> > >> BTW what is the top left corner icon on the touchpad supposed to do ? > > I don't have anything at the top left corner > > Ah I see, I went by this picture: > > https://tweakers.net/i/NE-bFDSJ5PKJU3d1u4r5DSzfWs0=/x800/filters:strip_icc():strip_exif()/i/2003833862.jpeg?f=imagegallery > > Which also has a top left icon. > > >> What might help is as root, with secure-boot off, do: > >> > >> cat /sys/kernel/debug/hid/0018:04F3:30F2.0001/rdesc > rdesc > >> > >> This will give us the HID descriptors of the touchpad, > >> which will help interpret the i2c traffic. > > > > 05 01 09 02 a1 01 85 01 09 01 a1 00 05 09 19 01 29 02 15 00 25 01 75 > > 01 95 02 81 02 95 06 81 03 05 01 09 30 09 31 09 38 15 81 25 7f 75 08 > > 95 03 81 06 05 0c 0a 38 02 95 01 81 06 75 08 95 03 81 03 c0 c0 05 0d > > 09 05 a1 01 85 04 09 22 a1 02 15 00 25 01 09 47 09 42 95 02 75 01 81 > > 02 75 01 95 02 81 03 95 01 75 04 25 0f 09 51 81 02 05 01 15 00 26 78 > > 0c 75 10 55 0e 65 13 09 30 35 00 46 90 01 95 01 81 02 46 d3 00 26 93 > > 06 26 93 06 09 31 81 02 05 0d 15 00 25 64 95 03 c0 55 0c 66 01 10 47 > > ff ff 00 00 27 ff ff 00 00 75 10 95 01 09 56 81 02 09 54 25 7f 95 01 > > 75 08 81 02 05 09 09 01 25 01 75 01 95 01 81 02 95 07 81 03 09 c5 75 > > 08 95 04 81 03 05 0d 85 02 09 55 09 59 75 04 95 02 25 0f b1 02 85 07 > > 09 60 75 01 95 01 15 00 25 01 b1 02 95 0f b1 03 06 00 ff 06 00 ff 85 > > 06 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 85 0d 09 c4 15 00 26 ff > > 00 75 08 95 04 b1 02 85 0c 09 c6 96 8a 02 75 08 b1 02 85 0b 09 c7 95 > > 80 75 08 b1 02 c0 05 0d 09 0e a1 01 85 03 09 22 a1 00 09 52 15 00 25 > > 0a 75 10 95 01 b1 02 c0 09 22 a1 00 85 05 09 57 09 58 15 00 75 01 95 > > 02 25 03 b1 02 95 0e b1 03 c0 c0 05 01 09 06 a1 01 85 0e 05 07 19 e0 > > 29 e7 15 00 25 01 75 01 95 08 81 02 81 03 95 05 05 08 19 01 29 05 91 > > 02 95 01 75 03 91 01 95 06 75 08 15 00 26 a4 00 05 07 19 00 2a a4 00 > > 81 00 c0 > > <snip> > > Thanks, one question, does the touchpad already work as > a multi-touch touchpad, or is it in mouse emulation mode ? The touchpad is detected as 3 input devices: ELAN1401:00 04F3:30F2 Touchpad ELAN1401:00 04F3:30F2 Mouse ELAN1401:00 04F3:30F2 Keyboard The first one works as a full feature touchpad with abs coordinates and multitouch, the other two are disabled and don't work. > You can check this by running evemu-record and then > selecting the touchpad interface and see if you get abs_x/abs_y > coordinates. > > If not then it *might* help to add the ACPI id for the i2c-client > for the touchpad to: include/linux/input/elan-i2c-ids.h so that the > drivers/input/mouse/elan_i2c_*.c code will be used for it > instead of the generic HID code Surprisingly it works without adding the code to elan_i2c.