Muirium wrote: 04 Sep 2023, 17:26
A couple of requests, if Pandrew or anyone is able:
- Universal binary to run native on ARM. It's currently x86_64 only, so running in Rosetta. Apple will kill that at some point, as they did with PowerPC
- Dark mode support. Not a biggie, but a nice to have

That my particular MacOS copy of the util has neither Apple Silicon binary bits nor Dark Mode support is nobody's fault (least of all pandrew's!) BUT my own.
The absence of both features comes down to me wanting to try to target as wide a swath of supported systems (both hardware- and software/OS-wise) as possible. Though I'm sure most people here are largely interested in using their 40+ year-old keyboards on contemporary machines, there is surely a measurable percentage of people who would also like to be able to use them on legacy/"retro" systems, too. Of course, the USB-adapted 'boards will happily work on just about any host that has a USB port, no matter how old, but also having all of the software tooling needed to make changes or debug problems available to you on the same machine is a nice cherry on top, assuming it's practical to do.
The pandrew util for Windows is already compatible all the way back to Windows 7, released in 2009. On the MacOS side, producing a build of the app that runs perfectly on versions as old as Lion (10.7), released in 2011, ended up being (relatively) straightforward. So that's what I did. (Frankly, because I'm a sick man, I had actually hoped to get this working on Snow Leopard [2009], bringing legacy MacOS support as far back in time as Windows support, but it turned out that this was going to require way more work to accomplish than I was willing to put into it...at least at the time

) To get it to run under Rosetta 2, it has to be 64-bit x86-64, so there are a few Lion-compatible machines that can't run this build due to them having no 64-bit support (e.g., first-gen Core Solo/Duo based Macs), but many of those (except for the laptops) can have a Core 2 CPU dropped into 'em, anyway.
To support Apple Silicon natively, I'd "just" need to build with at least Xcode 12.x, which only supports targeting as far back as Mavericks (10.9). pandrew wrote his app against the cross-platform Qt 5.x framework, and Qt handles most of the nitty-gritty platform support details for you. If you build against a new enough version of the Qt5 libraries, you get Dark Mode support effectively "for free". And if you use an even newer version still, Qt5 also has official support for being built to run on Apple Silicon. That version of Qt5, though, only supports running on as far back as High Camp (10.13). So building a version of the app that fulfills both requests is absolutely doable, and probably with not that much effort. So perhaps in the future I'll release separate versions for older and newer Macs.
For whatever it's worth, I do sense that Rosetta 2 might be sticking around longer than the original Rosetta...
It was funny to me how, back during the PPC > x86 transition, Apple & Jobs announced a "2-year transition" and (probably to avoid the Osbourne Effect, heh) also that there were still "great PowerPC products in the pipeline yet to be introduced" (Jobs literally said this on stage! Spoiler: they never shipped another single PPC product after this

), yet they ended up transitioning the entire line-up within a year, and the VERY NEXT VERSION of MacOS after that (Snow Leopard) killed off PPC support entirely, leaving people who had just bought a G5 prior to the transition announcement high and dry with regard to future software support & stuck on Leopard for all eternity...I mean, I can imagine that there were still G5 desktops and G4 laptops out there still under extended hardware warranty that literally couldn't get software updates! Rosetta was ripped out of the following OS version (Lion). Apple *clearly* couldn't ditch PPC fast enough...
The ARM64 transition has gone pretty smoothly, but it's clearly taken them longer than they'd hoped to transition the entire product line ("thanks, Covid..."

), and they are still releasing major OS upgrades for the past Intel machines. If we use the past as our guide, we can probably expect Rosetta 2 to stick around for at least one OS release following the complete discontinuation of support for Intel machines, and that still has yet to happen...think about the number of larger Apple customers who perhaps currently have an investment in Xeon Mac Pros, which were still being manufactured and sold up until a couple of months ago...I give Rosetta 2 at least two more years of active service, if not three.