Well, I've been working on the keyer. It turns out that the Arduino Mega has the I2C bus on different pins than the Arduino Uno. Since my keyer shield doesn't actually have pins for that location on the Arduino, I had to come up with an adaptor mechanism. I bought some extra long pins from Jameco and put two of the wires into a two-pin housing, and now I have a display. The lack of sidetone output was traced to a broken wire going to the speaker. The paddle inputs didn't work, but that turned out to be a software error. I was relying on magic variables to know that they needed to be updated and magically update themselves. I have eliminated the magical assumption and now the paddles work.
I've changed the command processing such that the keyboard commands don't work, but I can enter multicharacter commands through the paddles. That's necessary to specify the memory to program. I'll rework the keyboard/serial commands eventually. The PS/2 keyboard, in particular, needs substantial rework, and I'll get to it eventually. I don't even know if I have even basic PS/2 keyboard functionality, or serial functionality for that matter, because I've been working on the memory feature, and I have progress to report. I can play back memories reliably, and the recording messages into memories is very nearly there.
So, I'm facing the prospect of having an actual memory keyer in my shack in the very near future. One that works the way I want it to. It's kinda scary because I don't know what I'll do with myself when I don't have this project hanging over my head. Maybe do some operating, perhaps? Oh, one might always hope!
Anyway, tonight I'll try to finish the basic memory recording functionality and consider what else I might want to do before actually using the keyer for real. Some basic memory macros, perhaps, or making the configuration settings permanent. Maybe embracing the power of "and". it is an exciting time, to be sure.