May 27, 2024
Description
This was part of a final project for the first year engineering course ENGINEER 1P13 at McMaster University. It was made for a client with Ehlers-Danlos Syndrome to aid in making the computer more comfortable and easier to use for extended periods of time, improving their productivity on a PC. The project was dubbed the Phoenix Controller System (PCS) and comes with a software utility called MousePad.
It uses a slightly modified Xbox controller and a bit of software to convert the easier to produce movements of using a game controller into keyboard and mouse inputs. The joysticks were elongated to require less force to actuate them and printed in PLA with TPU socks on top with a texture for a bit of grip. The trigger buttons also have stoppers that line up with the motors on the inside of the controller and are affixed with double-sided tape to reduce the movement required for pressing them. It also comes with a stand to rest on when the user is tired. Initially there were also plans to replace the buttons themselves to require less actuation force and the texture and shape of the controller to make it easier to hold for extended durations, but those modifications were cut due to lack of time and complexity.
The software allows you to re-map all buttons to nearly any keyboard or mouse command and adjust the sensitivity and haptics as our client also stated that getting feedback from a keyboard or mouse was hard to detect. The vibration motors in the controller mitigate this issue, and the level of feedback can be customized. The application consists of two main scripts and was written in Python. One runs in the background and translates the controller input to keyboard and mouse commands and the other is the GUI interface made with customtkinter to change any settings. All settings are stored in plain json format so they can be manually changed as well. The full source code and an installer for the application are available on my GitHub (linked below).
The models were made using Fusion 360. We also had someone make an animation for us given some models in Blender to advertise its features as part of a pitch. Photos of the animation incorporated into the pitch video are present.
License:
Creative Commons — Attribution — Share Alike