porting Keyboard