The application allows you to use two-finger scrolling on the Synaptics touchpad.
Written in order to minimize the amount of memory consumed by the process. The process consumes memory from 250 to 500 kilobytes.
Publication of a home pet project.
Requires installed touchpad drivers and SynCOM.dll library.
The application consists of one file. Does not require installation.
This application is a permanently resident program with the ability to control through the system tray (where the clock is). The application saves settings in the registry. In the settings you can specify autorun with Windows. In the settings, you can adjust the speed and acceleration of scrolling. Inside it is a COM client interacting with the SynCOM.dll library.
The testing process is implemented through CI github actions. Code verification aka StaticAnalysis and code metrics is implemented through CI github actions.
CI github actions uses:
- running tests based on google-test, a modified version of the smalti/gmock-win32 library is also used;
- OpenCppCoverage/OpenCppCoverage to get code coverage with tests, in the form of html;
- py junitparser to combine junit test reports into one file;
- fork repo burlachenkok/gtest_report updated to work with Python3 to get html from junit reports;
- py metrixpp to get code metrics;
- cpplint to bring code style closer to GoogleStyle;
- cppcheck to statically analyze the code for errors.
Building the project and tests from the source code requires the presence of the Microsoft Visual Studio 2019 Community, and using *.sln and *.vcxproj project files. The project is also ready to be built via clang version 12.0.0, which comes with VIsualStudioCommunity2019.
Can ask questions. PRs are accepted. No requirements for contributing.
The scroll function code is taken from the awahlig/two-finger-scroll repo. Application and tray icon taken from here icon-icons.com and modified.
- googletest+googlemock google/googletest
- vs_google_test_explorer_namespace.h Macro to Enable Namespaces in Google Test Adapter for Visual Studio by James Sullivan (More)
See the LICENSE file for license rights and limitations (MIT).