I have very very little electronics skill but I was able to connect a bluegiga (on HID by default) to an arduino and have it pair as a keyboard. Now from here to design the PCB there's an abyss...
I think it would require one level converter and one LDO (exact the same things required by the CSR module).
We will need one function to envelop our scan codes, I think it will be kinda similar of this piece of code:
static void sendKeyState(){
if(stateChanged){
calcKeyCodes();
byte hidReport[REPORT_LENGTH] = {0xFD,0x09,0x01,modifiers[0],0x00,0x00,0x00,0x00,0x00,0x00,0x00};
for(int i = 0; i < keyCodeIndex; i++){
hidReport[5 + i] = keyCodes[i];
}
for(int i = 0; i < REPORT_LENGTH; i++){
Serial.write(hidReport[i]);
}
Serial.flush();
}
}
I got this piece of code from Dirk Porsche
blog, keyboard boot mode? He used this code into his
Sparkfun BlueSmirf based keyboard (BlueSmirf is based on the RN-42 already mentioned here).
So Matt3o, these missing parts (the level converter and LDO) are all in this BlueSmirf module and it's open source.
I'm still up to work into the CSR HID but, as I mentioned earlier, it will take more time than I expected.
Hasu mentioned that it would be a good challenge - and there is no Open Source HID stack out there at this moment (as far as I know) ...
hankz, awesome design man!
So:
+1 RN-42 (temporary and quick solution - for those who are in a hurry to get one GH60 wireless keyboard)
+1 to our own Open Source HID Stack