Along with my 10 finger keyboard I want a mouse that requires minimal movement from my hands, so I am playing with the idea of using a small joystick to control the mouse.
Step 1
Prototype the concept.
I will connect the 2-Axis Analog Thumb Joystick up to an Arduino, and then write code that interprets the movements of the joystick and the sends messages as if this was a usb mouse. Because the controller is analog, If the joystick is only moved a slight amount the speed should be slow, but if the joystick is moved a larger distance, the speed should be increased.
The Joystick also has a switch when you press it down, so I think I can use that as a mouse click. I'm not sure what challenges this will present, but I am sure they will reveal themselves.
Build log
5 April 2022
I've discovered V-USB, a software-only implementation of a low-speed USB device for Atmel’s AVR® microcontrollers, making it possible to build USB hardware with almost any AVR® microcontroller, not requiring any additional chip.
https://www.obdev.at/products/vusb/index.html
Runs on any AVR microcontroller with at least 2 kB of Flash memory, 128 bytes RAM and a clock rate of at least 12 MHz.
Looking forward to trying this out.
2 April 2022
So, first thing's first.
When you plug your arduino in, you should be able to select the port to connect to it.
If you can't, BEFORE you start looking for fixes to enable the port, check that the arduino is actually working.
After a very annoying experience trying to get my pc to talk to my arduino, I discovered the arduino I was trying to connect to wasn't actually connecting. This was made more annoying by the fact I've always had a poor experience trying to connect to an arduino on my linux box because I normally plug through a hub, so I had chosen to connect using a windows machine.
Went down the rabbit hole of thinking the port was disabled, and trying to enable it, when the arduino was the problem all along.
NEXT problem. Once I found an arduino that worked from my pile, I couldn't run the USB Joystick sketch that comes in the arduino examples. I kept getting the error Mouse.h not found have you included it?
Another wild chase trying to include it. It turns out that the Nano, and Pro Micro BOARDS don't have Mouse.h. You can't use those boards to control mouse or keyboards.
So now, I'm looking for a small Arduino that does allow control of the Mouse. And that's where I am at. Living regionaly, I can't just pop down to the local electronic hobby shop and find what I need, so I'll need to search online.