The first time I opened up my nice Logitech optical mouse to see if I could fix what was ailing it back in 2003, I was surprised to find a lump of metal glued to the inside. I think this was the moment when I broke from what felt like an instinctual correlation between heft and quality. I was tight on cash back then, so I took the lump of metal out of the Logitech mouse and stuck it in the otherwise crappy Dell mouse that had come with my computer, and it absolutely felt like an upgrade.
To this day I buy gaming mice because you can easily add weights to them at your discretion.
It sucks when they stop registering properly, but there is something satisfying about cleaning that gunk out. I have a trackball mouse at work and I clean it every day or two to keep the ball rolling smoothly. It's gross, but I like sticking the tip of a pencil in there and pulling out small lumps of gunk. And it feels especially nice to give the ball a spin after.
i hate mice that are shaped to fill my hand. i find the constant touch on my palm irritating. the contact with the plastic surface causes me to sweat.
i loved the mice that came with sparc workstations. remember those first optical mice that needed a special metallic mousepad with a grid on them?
they were wide and flat. held with my thumb and little finger only. no other touch. that's how i use a mouse. but todays mice are all to small, so that i have to squeeze my fingers into an unnatural position.
i wish someone would design a flat and wide mouse like that again.
To you have small hands ? Almost every mouse I've seen is too small for my hands, I have this 'claw' style motion because its awkward to have the 0th joint rest against the top of the mouse.
> At first, I thought they were pieces of beer cans, but then I pulled some out and realized that they were wine capsules, the official name for those pieces of foil which go over the cork of a bottle of wine. It turns out that up into the 1980s, these wine capsules were actually made of lead, not the lightweight foil we get these days. Someone had put them inside the mouse, presumably to add a bit more heft–which I do find quite pleasant.
Delightful mouse-related trivia aside, making wine caps out of lead up till 1980s is quite a civilisational own-goal — can’t even avoid touching it.
Even Romans knew lead was toxic. Maybe the lead-induced violence hypothesis is correct after all.
Usually there is no contact between cap and wine, the cap shields the cork, the cork keeps the wine. If wine permeates the cork .. you will not want to drink it anyway.
I used a 5620 briefly in ucl-cs in the 80s. The depraz took a bit of getting used to. TBH if you'd told me it was going to be an icon 35 years later I'd have laughed. The Sun and Decstation mice were easier to comprehend.
I will say that it was remarkably accurate. Somehow I remember it being very good at its positioning. But the 5620 was mainly being used for text so pointing accuracy may have been moot.
I remember it doing sort of x/y axis lines like the graticule in a gunsight to mark its point.
On the occasion of Wirth's 80th birthday, he did a show and tell of the most recent computer he'd designed and built. His excuse for this particular yak shave was that no mainstream machines had drivers for his favourite mouse, a souvenir from the early days of mice at PARC.
Why do the interrupt service routines read both pins? At the time of call, don’t you already know the value of the interrupt-tied pin is 0, since the interrupt is triggered on its fall?
TIL there is an Arduino mouse library that handles 3 buttons and 2 optical encoders. Cool.
Good point, seems like X1 will be low after the x interrupt occurs. So they could read just x2 only. But my guess is that they were testing the xint() and yint() functions using polling, then configured the interrupts later.
Although the author has verified your guess is correct, there is actually a reason one might want to check the pin in the interrupt handler.
If the switch bounces you can get spurious interrupts. If the maximum bounce period is under the time it takes the Arduino to process the interrupt and call your handler so that you can be sure the pin will be done bouncing by the time your code runs than you can handle this by simply treating the interrupt as an opportunity to poll.
If the switch bounce can be longer than that then you might need software debouncing. Probably the simplest approach there is keep track of the last interrupt time and only treat interrupts as real if they do not occur too soon after the previous interrupt.
Atari ST and Amiga mice, too. However, the USB to Amiga/Atari mouse adapters available on eBay and elsewhere are made for the opposite use case, connecting a modern USB (or, in some cases, PS/2) mouse to an original Atari ST or Amiga.
Interesting! I actually bought & assembled a PS/2 to Amiga adapter a while back, so I could plug one of my many 3-button Logitech mice into an Amiga.
In my experience, the majority of old mice were not very good, so it's not surprising that most adapters go in the opposite direction (new mouse into old computer).
To this day I buy gaming mice because you can easily add weights to them at your discretion.