Keyboard instance data should point to keyboard platform data (not the other way around). (dm)