Virtual Button Driver: Enabling More Consistent User Experience with Screen Orientation on Convertible Laptop PCs
Evoluent VerticalMouse inventor.
The client, the inventor of an ergonomic vertical mouse that allows avoiding forearm twisting, required to update the driver enabled functionality of its flagship product and was looking for a service provider with demonstrated software engineering expertise along with low-level programming skills. Having a strong foothold in the target areas, Softeq stood out with an impressive value proposition that met the customer’s expectations of a reliable service provider capable of delivering on the promise.
Softeq was to upgrade kernel-mode device drivers to enable the latest version of the product to run on Windows-driven devices.
To make the latest product release smoothly operate on Windows XP, 7, 8, and 10, the team adapted the existing Windows drivers underlying the previous VerticalMouse version functional capabilities to the freshly rolled-out device. The team also code-reviewed the Evoluent Mouse Manager, special software for configuring the device buttons for performing useful functions. Created a while ago, the software required thorough refactoring that would allow to boost its performance and support the required functionality.
To make the kernel-mode driver trusted on Windows 10 desktop machines, the team submitted the program for attestation on the Microsoft Hardware Development Portal, which resulted in obtaining the Windows signature.
To achieve a bug-free driver operation, the team had to test it on three different mouse versions running on 32-bit and 64-bit platforms, which makes up over 20 test configurations. Softeq’s engineers set up a dedicated testing environment featuring special hardware and a complete range of operating systems.
The team employed a conventional Waterfall-based software development process due to well-defined requirements availability.
The client is happy with the delivery and is in conversation with Softeq regarding further enhancements to the product to make it more configurable and convenient for the end-user.