Home Forums I want to turn my fingerprint sensor into a tiny touchpad.

This topic contains 1 reply, has 2 voices, and was last updated by  tinycrazyfish 1 month, 2 weeks ago.

  • Author
    Posts
  • #400307

    baitthestate
    Member

    I’m looking for pointers on how to accomplish this pretty specific thing, I know the fingerprint sensor is capable of tracking finger movement so Id like to write (or find) some software that could turn this capability into a mini thumb touchpad (similar to the one of the GPD Pocket 2 if anyone is familiar with it, I can’t think of anywhere else I’ve seen one).

    Why would I want to do this? A few reasons,

    1. It would be really cool obviously what other reason do you need, but,
    2. The laptop is a 13 inch and when it’s squished between my knees and chest in bed it can be hard to reach the touchpad comfortably (not *too* hard of course), and I just feel flicking it around with my thumb would be more efficient in some situations.
    3. Mainly, as you see from the image below, it wastes the space of a key on my small keyboard and I’d really like to put it to better use (or make this a fun project).

    An identical sensor to my own is pictured below:
    [https://media.flixfacts.com/inpage/hp/envy-13/images/1.jpg](https://media.flixfacts.com/inpage/hp/envy-13/images/1.jpg)

    My laptop is a HP Envy 13-ba0xxx if anyone is interested and if anything comes of this.

  • #400308

    tinycrazyfish

    I’m not sure it can track finger movement, probably not. It can detect the touch, the starts scanning until the finger is released. Once finished, the sensor usually sends a monochrome image of what it scanned to the system.

    On “issue” compared to a touchpad (or a touch sensitive key) is that it will not “continuously” send events to the system. It is the system who enables the sensor and waits for a response. But you can probably workaround by constantly asking for a new fingerprint. Some “modern” sensors will cache the fingerprint, such that when the system asks for it, the scan is already done and is sent to the system instantly.

    The project may be feasible, but I can see two problems coming up:

    * Many sensors are not meant to be always on. It may overheat and not function properly
    * The sensor is not built to be “reactive”, the delay of touch to system-action may be too long to be comfortable as mouse click/keypress

    Is the sensor supported by libfprint? if yes, that should be your starting point. If not, you’ll need to perform USB sniffing with a virtual machine (or with specialized hardware) and reverse engineer how the sensor works. USB sniffing can be done with qemu and wireshark. (Note that libfprint mostly “replays” raw USB payloads to make fingerprint readers work). Once you’re able to trigger the sensor and get a response back, you should hook libinput or evdev to inject an HID event (e.g. a mouse click or a keypress).

  • #400309

    augugusto

    If you are on Linux, you could try reading its device file and figure out what each output mens

You must be logged in to reply to this topic.