Introduction
A mouse that adapts to your needs.We designed an USB mouse that was no ordinary mouse. We did include the expected right and left main mouse buttons, a scroll wheel, and an optical sensor to detect movement, but we added more in the hardware and software to expand the mouse's functionality to adapt to the user's needs. This included other components like a joystick and extra rebindable buttons, other compile-time configurations such as the functions for the buttons adjusting some constants in input receiving, and extra extensions such as different operation modes and connection methods. Alongside these elements, the mouse shell strives to be ergonomic through an adjustable tilt and potential interchangeable components. This is the mouse that adapts to the user's needs both in software and its physical design.