Haven't posted an update for a while as I've been a bit busy, but this is now basically complete, so thought I'd better put some words down!
First off, the keycap adapters were a failure. My friend's 3D printer just didn't have the precision to print something that small. Bit disappointing, but I realised that rather than try to find a few keycaps for a sensible price, I could just buy an entire set of cheap ones

so I did that!
I got the LEDs wired up; haven't got any photos of that, which to be frank is something of a mercy as it's a right bodge job

still, it works, which is the main thing!! I have them connected up to the Teensy's Vin pin, so they're getting the full 5V straight from the USB input; I used 125 ohm 1/8 W resistors to protect them (only fried one when I somehow managed to connect a resistor leg without the actual resistor!). The drawback of doing it this way is that the LEDs are always on whenever the pad is plugged in - even when the PC's not on. So I have to unplug it after use, unless I want a rainbow nightlight all the time

The encoder works, thanks to the code I got from this page:
https://www.best-microcontroller-projects.com/rotary-encoder.htmlTuff taught me how to change the serial number of the Teensy in name.c to get it recognized by Windows again, the info is here:
https://medium.com/@j0hnm4r5/changing-teensy-serial-name-and-port-name-2ca76552d26d (it's only the SERIAL_NUMBER bit you have to update).
I also had some major issues with my keypad. I was sure I'd wired it up correctly, but it just wouldn't work. @TuFFrabit to the rescue again, we gave me some code that scanned the matrix and the output showed that I'd managed to wire the rows as columns, and columns as rows!!

So once that was factored in to the keymap array, it all worked! I would NEVER have gotten to the bottom of that without TuFF's help, I can't overstate how important his assistance has been in getting this mod built, so if you read this TuFFrabit, thanks again man!

I keep forgetting to take pics of the bloomin' thing, for now this is the best I have - so, ladeez and gennelmun, I give you... the Nostromo N50+!

First impressions in use are that this whole keypad thing is AMAZING. I use this as a controller for Fortnite; aiming with the mouse is spectacular, I get what all the fuss is about regarding KBM being the best way to play. I have some way to go yet - there are still plenty of things I can pull off better on a controller - but I can tell it's mainly just re-training my tired old man's brain

With movement under my thumb, I'll get the hang of the rest in time.
There are a few things I'd do differently next time - and yes, there's going to be a next time... I managed to pick up another N50, this one fully working!
For starters, I discovered late that games like Fortnite only support Xinput controllers; and by default, the Teensy joystick implementation is DirectInput. So, it doesn't work as an analog stick in Fortnite. It does work in digital mode, so I still have 8-way movement under my thumb, and that's good enough for now. You can program the TeensyLC to be an Xinput device; but, it emulates an Xbox 360 controller in that mode, and cannot also be a keyboard. That means you're limited to the number of buttons a 360 pad has - 10 (plus the guide button, but that's not much use in a game). For the N50, that's not a massive disadvantage - it doesn't have all that many more buttons than that anyway (my N50+ has 16 available). But it would be a major compromise for anything else, like the N52's or the Razer keypads.
So, my plan is to get the Xinput code working with this one, and then to dual-mod the next one. I'll install an analog stick, and an encoder, and the Teensy will handle that in Xinput mode; but the N50's own PCB will remain in place to handle everything else. That will have the advantage that I can use the Belkin software to map all the buttons, and have the full range of KBM functionality but with analog movement!
I have also found that the 24-detent encoder I fitted to the Mark I device is a little too... skittish I guess you could say. I currently have it set up to cycle through my inventory slots, but I've found it's way too easy to skip too far - if you just want the next slot, all too often you scroll two detents by mistake, as they're so close together. I could fix this in code, either by requiring two detents before it sends a keypress, or introducing a timing function so it will only send a keypress every so many milliseconds. Either would work, but I think they would feel a bit kludgy. So for Mark II I'm going to try a 12-detent encoder, hopefully having to turn the wheel a bit more between detents will help avoid over-scrolling.
I'm also undecided as to whether I'm going to replace the keypad with keyswitches. I'd like to, it's just quite a bit of work, with all the cutting required, and lots of soldering. Plus I'd have to decipher the matrix, and connect it to the N50 PCB, and I'd be worried I'd mess something up... I could use TuFFrabit's matrix scanning code to help, if I temporarily connect the N50's points to the Teensy I guess. And If I do it, I can add diodes to prevent ghosting (the N50 suffers from this out the box). Plus, I did get some cheap Gateron keyswitches already... I'm probably going to do it, aren't I

Assuming I do fit keyswitches, I might not add LEDs. That was definitely the hardest soldering job, and I didn't do it well. But then again... I have been looking at RGB LEDs... I must be a glutton for punishment
