← Back to team overview

kernel-packages team mailing list archive

[Bug 1424293] Re: BYD trackpad detected as PS/2 mouse

 

Ok, so I've managed to write a kernel driver, as an extension to
psmouse, which recognises the touchpad and puts it into gesture-enabled
mode. Currently it recognises and uses vertical and horizontal two
finger scrolling, and also knows about the other gestures (but I haven't
got around to figuring out how they work with the input framework yet).

Check it out here:
$ git clone -b byd https://www.github.com/chrisdiamand/linux.git

The protocol is pretty simple - there's some ps2 init stuff, then a
sequence of magic bytes which I intercepted from the windows driver. It
returns 4 byte packets using the intellimouse protocol, except the last
bit (scroll/Z) takes different values depending on the gesture.

Some issues remain though:
- It's not supported in xf86-input-synaptics yet. This means you can't control parameters with synclient. I think things like intertial scrolling are handled here too.

- Gesture recognition seems to be being done by the touchpad itself
(firmware?) and not by the driver in the windows driver. Unfortunately
it doesn't do a very good job of it.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux-lts-utopic in Ubuntu.
https://bugs.launchpad.net/bugs/1424293

Title:
  BYD trackpad detected as PS/2 mouse

Status in linux-lts-utopic package in Ubuntu:
  Confirmed

Bug description:
  Hi, The exact device is this: http://bydit.com/doce/products/microelectronics/2474.html
  Let me know if there is any further information you need that could help.

  Expected to be able to use as touchpad with two finger
  vertical/horizontal scrolling. Currently only able to use plainly.

  Description:	Ubuntu 14.04.2 LTS
  Release:	14.04

  Linux 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:43:14 UTC
  2015 x86_64 x86_64 x86_64 GNU/Linux

  Output of cat /proc/bus/input/devices
  I: Bus=0019 Vendor=0000 Product=0005 Version=0000
  N: Name="Lid Switch"
  P: Phys=PNP0C0D/button/input0
  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0
  U: Uniq=
  H: Handlers=event0
  B: PROP=0
  B: EV=21
  B: SW=1

  I: Bus=0019 Vendor=0000 Product=0001 Version=0000
  N: Name="Power Button"
  P: Phys=PNP0C0C/button/input0
  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input1
  U: Uniq=
  H: Handlers=kbd event1
  B: PROP=0
  B: EV=3
  B: KEY=10000000000000 0

  I: Bus=0019 Vendor=0000 Product=0003 Version=0000
  N: Name="Sleep Button"
  P: Phys=PNP0C0E/button/input0
  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input2
  U: Uniq=
  H: Handlers=kbd event2
  B: PROP=0
  B: EV=3
  B: KEY=4000 0 0

  I: Bus=0019 Vendor=0000 Product=0001 Version=0000
  N: Name="Power Button"
  P: Phys=LNXPWRBN/button/input0
  S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input3
  U: Uniq=
  H: Handlers=kbd event3
  B: PROP=0
  B: EV=3
  B: KEY=10000000000000 0

  I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
  N: Name="AT Translated Set 2 keyboard"
  P: Phys=isa0060/serio0/input0
  S: Sysfs=/devices/platform/i8042/serio0/input/input4
  U: Uniq=
  H: Handlers=sysrq kbd event4
  B: PROP=0
  B: EV=120013
  B: KEY=402000000 3803078f800d001 feffffdfffefffff fffffffffffffffe
  B: MSC=10
  B: LED=7

  I: Bus=0019 Vendor=0000 Product=0006 Version=0000
  N: Name="Video Bus"
  P: Phys=LNXVIDEO/video/input0
  S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input8
  U: Uniq=
  H: Handlers=kbd event5
  B: PROP=0
  B: EV=3
  B: KEY=3e000b00000000 0 0 0

  I: Bus=0003 Vendor=058f Product=3821 Version=6025
  N: Name="USB 2.0 Camera "
  P: Phys=usb-0000:00:14.0-5/button
  S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-5/2-5:1.0/input/input9
  U: Uniq=
  H: Handlers=kbd event6
  B: PROP=0
  B: EV=3
  B: KEY=100000 0 0 0

  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
  N: Name="HDA Intel HDMI HDMI/DP,pcm=3"
  P: Phys=ALSA
  S: Sysfs=/devices/pci0000:00/0000:00:03.0/sound/card0/input10
  U: Uniq=
  H: Handlers=event7
  B: PROP=0
  B: EV=21
  B: SW=140

  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
  N: Name="HDA Intel PCH Mic"
  P: Phys=ALSA
  S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input11
  U: Uniq=
  H: Handlers=event8
  B: PROP=0
  B: EV=21
  B: SW=10

  I: Bus=0000 Vendor=0000 Product=0000 Version=0000
  N: Name="HDA Intel PCH Headphone"
  P: Phys=ALSA
  S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card1/input12
  U: Uniq=
  H: Handlers=event9
  B: PROP=0
  B: EV=21
  B: SW=4

  I: Bus=0011 Vendor=0002 Product=0005 Version=0000
  N: Name="ImPS/2 Generic Wheel Mouse"
  P: Phys=isa0060/serio1/input0
  S: Sysfs=/devices/platform/i8042/serio1/input/input7
  U: Uniq=
  H: Handlers=mouse0 event10
  B: PROP=0
  B: EV=7
  B: KEY=70000 0 0 0 0
  B: REL=103

  Output of xinput --list
  ⎡ Virtual core pointer                    	id=2	[master pointer  (3)]
  ⎜   ↳ Virtual core XTEST pointer              	id=4	[slave  pointer  (2)]
  ⎜   ↳ ImPS/2 Generic Wheel Mouse              	id=12	[slave  pointer  (2)]
  ⎣ Virtual core keyboard                   	id=3	[master keyboard (2)]
      ↳ Virtual core XTEST keyboard             	id=5	[slave  keyboard (3)]
      ↳ Power Button                            	id=6	[slave  keyboard (3)]
      ↳ Video Bus                               	id=7	[slave  keyboard (3)]
      ↳ Power Button                            	id=8	[slave  keyboard (3)]
      ↳ Sleep Button                            	id=9	[slave  keyboard (3)]
      ↳ USB 2.0 Camera                          	id=10	[slave  keyboard (3)]
      ↳ AT Translated Set 2 keyboard            	id=11	[slave  keyboard (3)]

  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: linux-image-3.16.0-30-generic 3.16.0-30.40~14.04.1 [modified: boot/vmlinuz-3.16.0-30-generic]
  ProcVersionSignature: Ubuntu 3.16.0-30.40~14.04.1-generic 3.16.7-ckt3
  Uname: Linux 3.16.0-30-generic x86_64
  ApportVersion: 2.14.1-0ubuntu3.7
  Architecture: amd64
  CurrentDesktop: Unity
  Date: Sat Feb 21 23:55:56 2015
  InstallationDate: Installed on 2015-02-21 (0 days ago)
  InstallationMedia: Ubuntu 14.04.2 LTS "Trusty Tahr" - Release amd64 (20150218.1)
  SourcePackage: linux-lts-utopic
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-lts-utopic/+bug/1424293/+subscriptions


References