Maintenance/Mouse button replacement

From ludd
Revision as of 20:48, 19 September 2023 by Adamw (talk | contribs) (Wrap up the story real quick)

Background and problem

I'm your ordinary sort of office worker, who types and clicks far too often in the course of a day. Various body parts connected to these devices are getting old and very much appreciate that my employer has supplied me with a mid-range ergonomic keyboard and mouse. Office workers of the world, you are advised to ask for at least this much. I think I'm emotionally attached, perhaps it makes me feel fancy that someone spent one hundred euro on me, or one must perform one's longevity once the job becomes a career, like a delivery driver hanging a pair of fuzzy dice over the rear-view mirror after pulling away from headquarters. The mouse trouble began when I moved into a "home office"—we'll spare most of the details except to say that my standing desk is not much more than a cutting board screwed to the wall at navel height. This is the perfect height for extremely destructive impact of any plastic-encased electronics unlucky enough to fall to the floor, and small enough that this happens often. My mouse has suffered and its once-noble exterior is held together either by gravity or by a small number of the original fasteners. But it still clicks!

At least, it clicks most of the time. Where this inconsistency really starts to burn is double-clicking, which is an ableist-enough exercise under normal circumstances and a fool's errand with iffy buttons. For the past year, I've software-mapped the right and left buttons to switch them, and I hold the mouse in a funny way which lets me imagine that everything is fine, sort of. It's also causing my habits to cross-wire, and anyway I find that the right button becomes increasingly important in proportion to how much I can't use it.

The keyboard and mouse are a thing together, but e-waste if separated. I'd really like to make the mouse work again for the sake of the planet if nothing else. It's just so much junk to produce and reproduce otherwise.

Pop the hood[1]

Something's rotten about these microswitches

I measured missed clicks with the linux utility xev [2] and it showed that the buttons had become sensitive to the exact orientation of my finger. Either something was wrong with the alignment of the broken plastic parts, contact material was worn off of the internal switch, dust sand and chips had gotten in, or all of the above. First thing to do is just put it back together, next I cleaned the stray lint, squirted air all around and flooded the button with isopropyl, finally imagining very hard that I had fixed the issue, yet still nothing changed.

Firmly stuck in the honeymoon phase, I believed that a light repair would involve a quick business of swapping out the standard microswitches (silver squares with an orange dot in the middle). They seem to all come in the same vanilla flavor since long before this particular thing was made ten years ago. All 8 solder points are accessible as you might see in this image.

I confirm that the switches have the same pinout and footprint as the potential replacements, although the proof will not be definitively in the pudding until the switches are isolated from their circuit.

A fellow Earth defender in my office's IT department orders the new switches and I barely remember the next couple of weeks of missed clicks.

Prying the switches off

What could possibly go wrong?

To lift both legs on one side, I think the right tool would be a hot air setup or a double-headed iron. Desoldering the legs one at a time is hard to do otherwise. I relied on the versatile thumbtack to apply some pressure to the joint as I heated up each pad in turn.

In hindsight, I relearned the lesson that coffee and fine motor work mix poorly. My hands were trembling like leaves and I probably used ten times the force that I should have when pushing the thumbtack under the switch. I also should have pried only at the legs and not at the body of the switch itself.

As you have probably guessed, gentle reader, I tore a bunch of important and small electrical traces off of the top of the board during this step.

Here are some photos of the damage:

Removing the original microswitches has wounded their host
There should be no brown visible, this shows that electrical traces were torn away.

It's a bit like discovering that bits of a placenta are missing after birth: this is going to be a serious problem and we shouldn't continue without knowing exactly what went wrong.

Internal schematic for a microswitch

Nonetheless, I thought I would try to finish the replacement as planned.

After all, the internal wiring for these switches has the left and right pads tied together internally so it's possible that we only need one pad conducting the signal and the other would have no traces, purely for mechanical attachment. This could also explain why the exact same pads tore more easily on each switch?

The new switches went in.

I should mention at this point that I'm a complete hack—an unlicensed hobbyist. I was let go from a summer job soldering for a hardware video artist decades ago, and flashbacks from this experience came against my will, singeing my conscience with a cloud of lead smoke even at this distance through time, as I sweat over two small switches.

Okay but it went uneventfully and here is the result, notice the handsome slate-gray nubs.

New mouse same as the old mouse

There was a slight height difference between the old and new switches, so I was ready to sand down the part of the button which does the internal pressing.

Side view of old (left) and new (right) switches

However, this is where the story turns sad: although the mechanical clickiness feels better than what I remember of original condition, there is no signal sent from either button. They are dead to the computer, and a multimeter confirms nothing is happening on the board. My photographer suddenly gets distracted by the pretty trees outside of our window and mercifully snaps a few photos of that, instead of zooming in on my shed tears as a more seasoned journalist might have done.

All is not lost.

Nothing to lose but our chains

So many screws

Time to go deep. Take the everything apart and find out what's going on. I'd rather not pull the switches back off, for fear of tearing out the remaining traces. Instead, there's got to be a way of reconnecting the signals that connected to the missing surface-mount pads. A continuity tester confirms that the working buttons do what we might expect: one side has a positive voltage and the other causes a wire in the board connector jumper to toggle between high-impedance and the positive voltage. The broken buttons don't cause a similar signal anywhere on the jumper, and it's hard to tell where the traces should have gone because of the high-obscurity board layout and black solder mask.

Oh hold everything: the trivial middle board is clearly marked "confidential"! We can't go on... joking.

Two-layer board edge

This is only a two-layer board so everything is on the front and back, networks can only go through the board via a via through-hole, sideways on a trace or plane of foil, or through a component. Nonetheless, I can't quite follow the signal. Now we're going to have fun: I make a jumper ending with a small resistor and clip it to the positive voltage of a working switch, poke this into each wire of the board connector one at a time with the mouse turned on, and watch xev.

Luckily for me, this is successful! It becomes clear which of the switch pads should carry positive voltage and which board connector wires relay the outgoing button signals.

Top jumper

In the end it only takes two additional wires to make the mouse fully functional. I would put this hack firmly on the "I'll jam the satellite uplink with my hair clip" scale of electrical engineering, and the result is a fire hazard which I wouldn't feel comfortable letting anyone else use. But it's good enough for me. The top jumper looks especially scary since it attaches to an unusual hole cut in a ribbon cable, but both wires make me slightly queasy.

Bottom jumper

Notes

  1. I don't own a car nor do I condone their use but did I grow up in California, USA so everything comes with a car metaphor.
  2. https://www.x.org/releases/X11R7.7/doc/man/man1/xev.1.xhtml