I’ve spent a couple days a while ago getting everything to build properly on FreeBSD, and have been using this toolchain for about a month now without issue on both Linux and (primarily) FreeBSD.
If you’re interested, the fruits of my labor are available at github. There’s a PR in the main repo for it, and I’ve updated the wiki as well.
If you’ve got a FreeBSD box to test this stuff on I’d appreciate it. Particularly the install instructions, since a lot of that is from memory and may be incorrect.
As a side note: it felt a little weird to update the wiki with the instructions. I know it’s a wiki, but it still felt like I was being presumptuous. Was it ok to add the documentation there, or is there a better channel to go through for getting stuff put in?
This is probably old news, but Freebsd ports change the arudino support to remove board-manager. (For reasons that appear dumb to me). So it won’t be possible to build on FreeBSD via ardunio. It would be nice to have a command line version. to complie/flash from freebsd. Its possible I could submit a PR against FreeBSD to get the port fixed. (The didn’t want extra compiler tool sets being installed, as far as I can tell, so the disabled board manager and library manager) There is no make/port option to re-enable those, which is probably what I’d make as a PR
The instructions I put on the wiki were for CLI building. I think I may have used the Arduino IDE to build the firmware once, just to see how it works, but I find Makefiles and the command line tools easier to work with, so that’s what I used.
You still need arduino-builder, I think, as part of the general firmware build process, but AFAIK all the required code lives in the Kaleidoscope git repositories, so the board-manager shouldn’t be required, provided you’ve got avr-gcc somewhere.
All that said, since I’ve moved back to Linux full-time, I haven’t tried a build on FreeBSD in some months, so I’m not sure if anything’s broken.
Did you need to do anything special just to use this under FreeBSD? I plugged the keyboardio in, and I see it in dmesg:
uhub2: 21 ports with 21 removable, self powered
ugen2.2: <Keyboardio Model 01> at usbus2
[32] umodem0 numa-domain 0 on uhub4
[32] umodem0: <Keyboardio Model 01, class 239/2, rev 2.00/1.00, addr 1> on usbus2
[32] umodem0: data interface 1, has no CM over data, has break
[32] uhid0 numa-domain 0 on uhub4
[32] uhid0: <Keyboardio Model 01, class 239/2, rev 2.00/1.00, addr 1> on usbus2
But, at least under X, I can’t use it at all. Tried 12.1R and 13.0-CURRENT equally.
Just for completeness, I needed to flash the firmware with a small modification to have this keyboard working under FreeBSD 12.1R and 13.0-CURRENT. This should take ~ 5 minutes total time to do using the excellent instructions https://github.com/keyboardio/Kaleidoscope/wiki/Install-Arduino-support-on-FreeBSD and the discord community https://discordapp.com/ a small diff is required to set the default keyboard protocol, noted at the bottom of the above wiki page.
Thanks @bjc for getting it all working & documented.