A touchpad peripheral device based on ESP32-S2 + specific laptop TouchPad.
- Compatible with Microsoft Precision TouchPad (PTP) standard.
- Supported Windows Touch Gesture.
- Supported Taptic Engine.
Taptic Engine still in development.
Also include a HP fingerprint module, in order to support fingerprint for Windows Hello.
- Lenovo ELAN 33370A TouchPad (Rev.A S8974A, traditional mechanical design)
- XiaoMi book 2022 14/16 pro Goodix GT7863 TouchPad (Partly support)
Hardware OpenSource Link:ESP32-Precision-TouchPad
Caution
Hardware & software only support the models of the touchpad mentioned above, untested touchpad models may be incompatible.
Use of such models can lead to driver failure or permanent hardware damage caused by short circuits!
Important
The pressure-sensitive touchpad promoted by Xiaomi merely replaced the traditional mechanical structure with a pressure-sensitive motor trigger. It is not a genuine pressure-sensing recognition (there is no pressure-sensing data).
Due to the lack of relevant data, the reverse engineering of Goodix is currently underway.
The reverse engineering of the HID Descriptor has been completed, as well as the optimization of the translation of touch HID messages and the report has been submitted, but the touch algorithm needs to be optimized.
Demonstration.mp4
Demonstration_Mouse_Mode.mp4
Demonstration_Android.mp4
- TouchPad Main PCB:
- 2.4G Reciever:
- Appearance Design (modeling by SOLIDWORKS):
- System Application:
- PCB Design
- Material Selection
- Appearance Design (Modeling by SOLIDWORKS)
- Adding battery to support 2.4G wireless (Fingerprint module is unavailable during 2.4G wireless state)
- Adding battery to support wireless Bluetooth (Fingerprint module is unavailable during bluetooth wireless state)
-
Adding ThinkPad TrackPoint Mouse Pointer(There are no current plans for this function update) -
Adding specific function button(There are no current plans for this function update)
- Recognized as a Microsoft Precision TouchPad
- Driving ELAN TouchPad
- Switching From Mouse Mode (Only One Finger) to Absolute Mode (Supported Multi Finger), thanks to @ApprehensiveAnt9858
- Single Touch Support
- Multi Touch Support
- Scroll Gesture Support
- Single Tap Support
- Multi Tap Support (It might fail to trigger occasionally)
- Physical Buttons Support (left click & right click)
- Changing from freertos polling to GPIO interrupt
- Add a new HID port to support Mouse Mode compatibility.
(available for some old systems/BIOS that doesn't support PTP, like Windows 7) - 2.4G wireless mode development
- Bluetooth wireleess mode development
- Two fingers tap (equal to right click) can only trigger on laptop.
Regarding the solution for triggering double-finger touch on a Desktop PC, please refer to System Tuning Guidelines.
- Multi-Port HID compatibility design may not support on some old system, like Windows XP.
- Cannot perform rapid and consecutive clicks.
- Due to processor limitation, Original PTP Mode can only support wire connect/2.4G wireless mode.
Bluetooth mode needs to use ESP32-S3. - XiaoMi book 2022 14/16 pro Goodix GT7863 TouchPad requires more algorithm support and optimization.
The current operation is rather sluggish, not as smooth as the ELAN touchpad.
- Windows 7 (Mouse Mode), Windows 10/11 (PTP Mode);
- Ubuntu 22.04 or newer (PTP Mode);
- Oxygen OS 17 (based on Android 16) on PHK110 (PTP Mode);
- HP / MSI BIOS (Mouse Mode)
Please go to wiki page for further detail.
Still in development progress