Hi Helmut,

Thank you for sharing the article on MSFT (I'm been long wondering what
does MSFT mean).

> Right, it affects all MSFT touchpads.
>
> At the moment there is nothing for MSFT - we will have to be very patient and 
> hope, that someone can find a driver for it.

I think The Microsoft Precision Touchpad has been implemented in
drivers/hid/hid-multitouch.c.

$ git log --grep="Precision Touchpad"
commit 9152c7d77d87e2b6b9ccc21bb52f8eea15744f50
Author: Dmitry Torokhov <dmitry.torok...@gmail.com>
Date:   Fri Jul 13 16:13:52 2018 +0200

    HID: multitouch: report MT_TOOL_PALM for non-confident touches
    
    According to Microsoft specification [1] for Precision Touchpads (and
    Touchscreens) the devices use "confidence" reports to signal accidental
    touches, or contacts that are "too large to be a finger". Instead of
    simply marking contact inactive in this case (which causes issues if
    contact was originally proper and we lost confidence in it later, as
    this results in accidental clicks, drags, etc), let's report such
    contacts as MT_TOOL_PALM and let userspace decide what to do.
    
    [1] 
https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/touchpad-windows-precision-touchpad-collection


And 
https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/legion-series/legion-5-15arh05/downloads/driver-list/
 doesn't list the driver for the touchpad. According to this Chinese webpage 
https://newsupport.lenovo.com.cn/driveDownloads_detail.html?driveId=47994, no 
special driver is needed for Windows 10.

So maybe there are some issues in drivers/hid/hid-mulititouch.c. For for
the Synaptics touchpad of this model, the pointer won't move but 2/3/4
fingers touching events can be reported. And for the Elan touchpad,
according to Stefano, no events are reported.

Since both touchpads works on Windows and "Precision touchpad becomes
mandatory for Windows 10 notebooks", we can fix both touchpads by fixing
hid-mulittouch. Can someone show me the content of
/sys/kernel/debug/hid/*\:04F3\:3140.0001/rdesc which has the Report
Descriptors when your ELAN touchpad is being handled by hid-multitouch?
For example, for the Synaptics touchpad,


$ cat /sys/kernel/debug/hid/0018\:06CB\:7F28.0001/rdesc 
05 01 09 02 a1 01 85 02 09 01 a1 00 05 09 19 01 29 02 15 00 25 01 75 01 95 02 
81 02 95 06 81 01 05 01 09 30 09 31 15 81 25 7f 75 08 95 02 81 06 c0 c0 05 0d 
09 05 a1 01 85 03 05 0d 09 22 a1 02 15 00 25 01 09 47 0
9 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 05 01 15 
00 26 c8 04 75 10 55 0e 65 11 09 30 35 00 46 fc 03 95 01 81 02 46 9d 02 26 24 
03 09 31 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 47
 09 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 05 01 
15 00 26 c8 04 75 10 55 0e 65 11 09 30 35 00 46 fc 03 95 01 81 02 46 9d 02 26 
24 03 09 31 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 09 
47 09 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 05 
01 15 00 26 c8 04 75 10 55 0e 65 11 09 30 35 00 46 fc 03 95 01 81 02 46 9d 02 
26 24 03 09 31 81 02 c0 05 0d 09 22 a1 02 15 00 25 01 0
9 47 09 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 05 
01 15 00 26 c8 04 75 10 55 0e 65 11 09 30 35 00 46 fc 03 95 01 81 02 46 9d 02 
26 24 03 09 31 81 02 c0 05 0d 09 22 a1 02 15 00 25 01
 09 47 09 42 95 02 75 01 81 02 95 01 75 03 25 05 09 51 81 02 75 01 95 03 81 03 
05 01 15 00 26 c8 04 75 10 55 0e 65 11 09 30 35 00 46 fc 03 95 01 81 02 46 9d 
02 26 24 03 09 31 81 02 c0 05 0d 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 05 0d 85 08 09 55 09 59 75 04 
95 02 25 0f b1 02 85 0d 09 60 75 01 95 01 15 00 25 01 b
1 02 95 07 b1 03 85 07 06 00 ff 09 c5 15 00 26 ff 00 75 08 96 00 01 b1 02 c0 05 
0d 09 0e a1 01 85 04 09 22 a1 02 09 52 15 00 25 0a 75 08 95 01 b1 02 c0 09 22 
a1 00 85 06 09 57 09 58 75 01 95 02 25 01 b1 02 95 06
 b1 03 c0 c0 06 00 ff 09 01 a1 01 85 09 09 02 15 00 26 ff 00 75 08 95 14 91 02 
85 0a 09 03 15 00 26 ff 00 75 08 95 14 91 02 85 0b 09 04 15 00 26 ff 00 75 08 
95 3d 81 02 85 0c 09 05 15 00 26 ff 00 75 08 95 3d 81 
02 85 0f 09 06 15 00 26 ff 00 75 08 95 03 b1 02 85 0e 09 07 15 00 26 ff 00 75 
08 95 01 b1 02 c0 

  INPUT(2)[INPUT]
    Field(0)
      Physical(GenericDesktop.Pointer)
      Application(GenericDesktop.Mouse)
      Usage(2)
        Button.0001
        Button.0002
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Physical(GenericDesktop.Pointer)
      Application(GenericDesktop.Mouse)
      Usage(2)
        GenericDesktop.X
        GenericDesktop.Y
      Logical Minimum(-127)
      Logical Maximum(127)
      Report Size(8)
      Report Count(2)
      Report Offset(8)
      Flags( Variable Relative )
  INPUT(3)[INPUT]
    Field(0)
      Logical(Digitizers.Finger)
      Application(Digitizers.TouchPad)
      Usage(2)
        Digitizers.Confidence
        Digitizers.TipSwitch
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute )
    Field(1)
      Logical(Digitizers.Finger)
      Application(Digitizers.TouchPad)
      Usage(1)
        Digitizers.ContactID
      Logical Minimum(0)
      Logical Maximum(5)
      Report Size(3)
      Report Count(1)
      Report Offset(2)
      Flags( Variable Absolute )
    Field(2)
      Logical(Digitizers.Finger)
      Application(Digitizers.TouchPad)
      Usage(1)
        GenericDesktop.X
      Logical Minimum(0)
      Logical Maximum(1224)
      Physical Minimum(0)
      Physical Maximum(1020)
      Unit Exponent(-2)
      Unit(SI Linear : Centimeter)
      Report Size(16)
      Report Count(1)
      Report Offset(8)
      Flags( Variable Absolute )
    Field(3)
      Logical(Digitizers.Finger)
      Application(Digitizers.TouchPad)
      Usage(1)
        GenericDesktop.Y
      Logical Minimum(0)
      Logical Maximum(804)
      Physical Minimum(0)
      Physical Maximum(669)
      Unit Exponent(-2)
      Unit(SI Linear : Centimeter)
      Report Size(16)
      Report Count(1)
      Report Offset(24)
      Flags( Variable Absolute )

-- 
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to xserver-xorg-input-libinput in Ubuntu.
https://bugs.launchpad.net/bugs/1887190

Title:
  MSFT Touchpad not working on Lenovo Legion-5 15ARH05

Status in Pop!_OS:
  New
Status in linux package in Ubuntu:
  Confirmed
Status in xserver-xorg-input-libinput package in Ubuntu:
  Confirmed
Status in linux package in Arch Linux:
  Confirmed
Status in linux package in Fedora:
  Confirmed
Status in linux package in openSUSE:
  New

Bug description:
  Hello

  The MSFT touchpad of this Lenovo Legion-5 15ARH05 laptop is not reacting at 
all (pointer and click never move when touchpad is touched). This has been 
reported by other users in various websites, with various linux systems 
including other Ubuntu systems, but I saw no launchpad bug so I post one. 
Example of websites covering the issue :
  - https://askubuntu.com/questions/1253830/lenovo-legion-5-touchpad (exactly 
the same laptop)
  - https://www.linux.org/threads/lenovo-legion-5-touchpad.29536/ (similar 
laptop)

  xinput indentifies it as MSFT0001:00 04F3:3140

  Virtual core pointer                          id=2    [master pointer  (3)]
  ⎜   ↳ Virtual core XTEST pointer                      id=4    [slave  pointer 
 (2)]
  ⎜   ↳ MSFT0001:00 04F3:3140 Touchpad                  id=17   [slave  pointer 
 (2)]
  ⎜   ↳ MSFT0001:00 04F3:3140 Mouse                     id=16   [slave  pointer 
 (2)]
  ⎜   ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control        id=12   [slave  
pointer  (2)]
  ⎜   ↳ Logitech USB Optical Mouse                      id=11   [slave  pointer 
 (2)]
  ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
      ↳ Virtual core XTEST keyboard                     id=5    [slave  
keyboard (3)]
      ↳ Ideapad extra buttons                           id=15   [slave  
keyboard (3)]
      ↳ Power Button                                    id=6    [slave  
keyboard (3)]
      ↳ Integrated Camera: Integrated C                 id=10   [slave  
keyboard (3)]
      ↳ Video Bus                                       id=7    [slave  
keyboard (3)]
      ↳ ITE Tech. Inc. ITE Device(8910) Consumer Control        id=19   [slave  
keyboard (3)]
      ↳ Power Button                                    id=9    [slave  
keyboard (3)]
      ↳ ITE Tech. Inc. ITE Device(8910) Wireless Radio Control  id=13   [slave  
keyboard (3)]
      ↳ ITE Tech. Inc. ITE Device(8910) Keyboard        id=14   [slave  
keyboard (3)]
      ↳ AT Translated Set 2 keyboard                    id=18   [slave  
keyboard (3)]
      ↳ Video Bus                                       id=8    [slave  
keyboard (3)]

  Thanks a lot for your time. It does not help, but I can confirm what
  was reported on askubuntu by another user : the touchpad does work on
  Windows.

  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: linux-image-5.4.0-40-generic 5.4.0-40.44
  ProcVersionSignature: Ubuntu 5.4.0-40.44-generic 5.4.44
  Uname: Linux 5.4.0-40-generic x86_64
  NonfreeKernelModules: nvidia_modeset nvidia
  ApportVersion: 2.20.11-0ubuntu27.3
  Architecture: amd64
  AudioDevicesInUse:
   USER        PID ACCESS COMMAND
   /dev/snd/controlC0:  nicolas    1567 F.... pulseaudio
   /dev/snd/controlC1:  nicolas    1567 F.... pulseaudio
   /dev/snd/controlC2:  nicolas    1567 F.... pulseaudio
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  Date: Fri Jul 10 20:14:25 2020
  InstallationDate: Installed on 2020-07-02 (8 days ago)
  InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
  MachineType: LENOVO 82B5
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=fr_FR.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 EFI VGA
  ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-5.4.0-40-generic 
root=UUID=d8898017-2821-434e-ab52-fec76ac93106 ro quiet splash vt.handoff=7
  RelatedPackageVersions:
   linux-restricted-modules-5.4.0-40-generic N/A
   linux-backports-modules-5.4.0-40-generic  N/A
   linux-firmware                            1.187.1
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)
  dmi.bios.date: 05/12/2020
  dmi.bios.vendor: LENOVO
  dmi.bios.version: EUCN19WW
  dmi.board.asset.tag: NO Asset Tag
  dmi.board.name: LNVNB161216
  dmi.board.vendor: LENOVO
  dmi.board.version: SDK0J40709 WIN
  dmi.chassis.asset.tag: NO Asset Tag
  dmi.chassis.type: 10
  dmi.chassis.vendor: LENOVO
  dmi.chassis.version: Lenovo Legion 5 15ARH05
  dmi.modalias: 
dmi:bvnLENOVO:bvrEUCN19WW:bd05/12/2020:svnLENOVO:pn82B5:pvrLenovoLegion515ARH05:rvnLENOVO:rnLNVNB161216:rvrSDK0J40709WIN:cvnLENOVO:ct10:cvrLenovoLegion515ARH05:
  dmi.product.family: Legion 5 15ARH05
  dmi.product.name: 82B5
  dmi.product.sku: LENOVO_MT_82B5_BU_idea_FM_Legion 5 15ARH05
  dmi.product.version: Lenovo Legion 5 15ARH05
  dmi.sys.vendor: LENOVO
  --- 
  ProblemType: Bug
  ApportVersion: 2.20.11-0ubuntu27.3
  Architecture: amd64
  CasperMD5CheckResult: skip
  CurrentDesktop: ubuntu:GNOME
  DistroRelease: Ubuntu 20.04
  InstallationDate: Installed on 2020-07-02 (12 days ago)
  InstallationMedia: Ubuntu 20.04 LTS "Focal Fossa" - Release amd64 (20200423)
  Package: linux (not installed)
  ProcEnviron:
   TERM=xterm-256color
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=fr_FR.UTF-8
   SHELL=/bin/bash
  Tags:  focal
  Uname: Linux 5.8.0-050800rc5-generic x86_64
  UnreportableReason: The running kernel is not an Ubuntu kernel
  UpgradeStatus: No upgrade log present (probably fresh install)
  UserGroups: adm cdrom dip lpadmin lxd plugdev sambashare sudo
  _MarkForUpload: True

To manage notifications about this bug go to:
https://bugs.launchpad.net/pop-os/+bug/1887190/+subscriptions

-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to