04f3:0c1a Elan, wrong device type
I noticed that this device is recognized as a swipe device, but it's actually a press device. I'm not really good with C, but I made this patch which hardcode the change which is probably a bad idea. It now works on my machine at least. It may also help fixing the issue.
From e9df63ee04f2655f1e13c1f97ed8d90e0afaa3f6 Mon Sep 17 00:00:00 2001
From: SirCipherz <sircipherz@mail.com>
Date: Tue, 10 Jan 2023 17:45:33 +0100
Subject: [PATCH] not swipe
---
libfprint/drivers/elan.c | 2 +-
libfprint/drivers/elanspi.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libfprint/drivers/elan.c b/libfprint/drivers/elan.c
index 51daac7..0e78876 100644
--- a/libfprint/drivers/elan.c
+++ b/libfprint/drivers/elan.c
@@ -998,7 +998,7 @@ fpi_device_elan_class_init (FpiDeviceElanClass *klass)
dev_class->full_name = "ElanTech Fingerprint Sensor";
dev_class->type = FP_DEVICE_TYPE_USB;
dev_class->id_table = elan_id_table;
- dev_class->scan_type = FP_SCAN_TYPE_SWIPE;
+ dev_class->scan_type = FP_SCAN_TYPE_PRESS;
img_class->img_open = dev_init;
img_class->img_close = dev_deinit;
diff --git a/libfprint/drivers/elanspi.c b/libfprint/drivers/elanspi.c
index 9338013..595893b 100644
--- a/libfprint/drivers/elanspi.c
+++ b/libfprint/drivers/elanspi.c
@@ -1698,7 +1698,7 @@ fpi_device_elanspi_class_init (FpiDeviceElanSpiClass *klass)
dev_class->full_name = "ElanTech Embedded Fingerprint Sensor";
dev_class->type = FP_DEVICE_TYPE_UDEV;
dev_class->id_table = elanspi_id_table;
- dev_class->scan_type = FP_SCAN_TYPE_SWIPE;
+ dev_class->scan_type = FP_SCAN_TYPE_PRESS;
dev_class->nr_enroll_stages = 7; /* these sensors are very hit or miss, may as well record a few extras */
img_class->bz3_threshold = 24;
--
2.38.2