Have multiway keep track of the number of keys pressed for each direction. So if W and UP_ARROW both correspond to the same direction, pressing both at the same time will have no effect, instead of doubling the speed.