What makes you think that one would have to flash a different firmware?
Bluetooth uses different profiles
depending on what information it wants to convey. I'm sure this profile is part of this BT modules firmware as the arduino only sees it as a serial modem with a few AT commands to alter settings.
A quick google search shows this
device from SparkFun is pre-loaded with HID firmware or as previously suggested you could buy a cheap BT keyboard and remove the BT module (with extreme care) as done here