But question is, is it good enough? Because, then I'm going to include it in future versions. You tell me
I've cleaned up the code a bit again. It should be good enough for future versions. There is a slight bug with the Keyboard configuration, when it launches it's in DimStateA, but it's lit up as if it's in DimStateB. Toggling the state twice clears it, but it draws the wrong state when it's connected, I'm not sure how to fix that. Other than that I've not had any problems using it.