The obvious1 solution to this problem is a heated mouse. Google can tell you this isn't a new idea but google can't tell you where to actually buy one. The only place that sold them is now dead and in any case seems to have been a scam. People didn't get their shipments or they did but the contents either failed to work as heaters or failed to work as mice.
But this can't be complicated. USB is a powered connection, meaning that a mouse can get power from the computer. If it can draw enough, it can run a tiny heater. As a matter of fact, the USB spec says that a device can draw up to 500mA at 5V, which is 2.5 watts. That's not a lot of heat, but if you were holding it literally in the palm of your hand I thought it might be enough to ward off pneumonia.
(I really should have photographed this entire build, but I was feeling my way through and didn't want to waste time with a bunch of dead ends.)
The first thing was to get a USB optical mouse. USB for the power, optical to have plenty of space inside. I had one lying around. Then I needed a way to turn electricity to heat. Resistance wire out of a trashed hair dryer turned out to be perfect. Around 3" of wire (coiled length), coated with liquid insulation, provides ~20 ohms of resistance. That draws about 250mA, providing around 125mW of heat. (I stayed well below the spec just in case, plus the mouse itself needs 100mA, according to the label.)
The rest was just a bunch of boring details. How to keep the heater wire inside the mouse. How to attach the power to the coil. How to get the mouse back together. Thinking about safety. Like, am I going to burn down the building? I don't think so...
Does it work? I've got it plugged in right now and it's working great. Works fine as a mouse (didn't even have to reboot, even though I switched from PS/2 to USB) and as a heater (I switched because my hand was cold and now I'm comfy).
I'd say the only problem is that the heat is applied more towards the palm when it needs to be more towards the fingers. It works as-is, but maybe I could uncoil the resistance wire and spread it out a little more around the inside of the mouse to hit all the areas.
1To a dork.