swapping mouse X/Y, adding support for keyboard