DIY keyboard firmware and layout generator (C++ / Scala)