Using the fingerprint scanner as middleclick mouse button
On Android, it is possible to reconfigure the fingerprint sensor to some more useful functions, for example with Fingerprint Gestures
Is this possible on Ubuntu too?
(At the moment, I use Ubuntu 18.04 on a Lenovo yoga 720-15IKB, but I would be happy to find a solution for a future Ubuntu version also)
The Fingerprint module doesn't work on Ubuntu 18.04 right now. I find no device using fprint_demo
.
The Fingerprint sensor is called "Synaptics WBDI". The only device using lsusb
is:
$ lsusb |grep Synap
Bus 001 Device 004: ID 06cb:0081 Synaptics, Inc.
But that might also be the Touchpad.
There are some hits for Synaptic checking hwinfo
$ hwinfo
...
P: /devices/pci0000:00/0000:00:14.0/usb1/1-6
N: bus/usb/001/004
E: BUSNUM=001
E: DEVNAME=/dev/bus/usb/001/004
E: DEVNUM=004
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-6
E: DEVTYPE=usb_device
E: DRIVER=usb
E: ID_BUS=usb
E: ID_MODEL=0081
E: ID_MODEL_ENC=0081
E: ID_MODEL_ID=0081
E: ID_REVISION=0164
E: ID_SERIAL=06cb_0081_9413a800b66b
E: ID_SERIAL_SHORT=9413a800b66b
E: ID_USB_INTERFACES=:ff0000:
E: ID_VENDOR=06cb
E: ID_VENDOR_ENC=06cb
E: ID_VENDOR_FROM_DATABASE=Synaptics, Inc.
E: ID_VENDOR_ID=06cb
E: MAJOR=189
E: MINOR=3
E: PRODUCT=6cb/81/164
E: SUBSYSTEM=usb
E: TYPE=255/16/255
E: USEC_INITIALIZED=2015135
P: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0
E: DEVTYPE=usb_interface
E: ID_USB_CLASS_FROM_DATABASE=Vendor Specific Class
E: ID_VENDOR_FROM_DATABASE=Synaptics, Inc.
E: INTERFACE=255/0/0
E: MODALIAS=usb:v06CBp0081d0164dcFFdsc10dpFFicFFisc00ip00in00
E: PRODUCT=6cb/81/164
E: SUBSYSTEM=usb
E: TYPE=255/16/255
E: USEC_INITIALIZED=4293294
...
50: USB 00.0: 0000 Unclassified device
[Created at usb.122]
Unique ID: MtLc.g9F1G8rI369
Parent ID: k4bc.2DFUsyrieMD
SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-6/1-6:1.0
SysFS BusID: 1-6:1.0
Hardware Class: unknown
Model: "Synaptics Unclassified device"
Hotplug: USB
Vendor: usb 0x06cb "Synaptics, Inc."
Device: usb 0x0081
Revision: "1.64"
Serial ID: "9413a800b66b"
Speed: 12 Mbps
Module Alias: "usb:v06CBp0081d0164dcFFdsc10dpFFicFFisc00ip00in00"
Config Status: cfg=new, avail=yes, need=no, active=unknown
Attached to: #52 (Hub)
In Windows, it shows up as:
Synaptics WBDI
USB\VID_06CB&PID_0081\9413A800B66B
USB\VID_06CB&PID_0081&REV_0164
Bios name: \_SB.PCI0.XHC.RHUB.HS06
\Device\USBPDO-4
PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(6)
ACPI(_SB_)#ACPI(PCI0)#ACPI(XHC_)#ACPI(RHUB)#ACPI(HS06)
oem3.inf:542d598d9aceb7d5:Biometric_Install.NT:5.5.2603.1050:USB\VID_06CB&PID_0081
Driverkey: {53d29ef7-377c-4d14-864b-eb3a85769359}\0000
Maybe this QA will give a hint, how to address the Biometric Device.
Solution 1:
What Google did is a hack: a fingerprint reader can be considered a tiny touchpad and fingerprint gestures can be generated by the Android Kernel to then let applications act upon it.
However in the Linux Kernel, no one is working on that so if you'd want something like this it would mean:
- Becoming a kernel developer
- Developing this yourself so it works for you
- Getting blasted by Linus Torvalds for breaking something else ;-)
- Re-doing it properly
- Nirvana!