Hello ! Why not using a chip like the ADP5588, "designed for QWERTY type phones that require a large keypad matrix" : http://www.analog.com/en/power-manag...s/product.html ? Also, one thing to not forget : Add a contact to detect if keyboard is out or not. The virtual keyboard should be deactivated if the hard keyboard is out, and orientation should be locked in landscape. My 2 cents. Keep on, I will try to follow your work.
At this moment the prototype will feature the N900 keyboard (3x13 keys), a i2c i/o expander, some resistors for pull-up logic, external connection for i2c connection to RPi and an on/off switch on the board (testing for recognition whether keyboard is connected).