finished multiple keyboard layout support

supporting WASD, QZSD and arrow key movement