https://jsfiddle.net/4j8cq7s3/5/
Tutaj masz przykład, który przed chwilą napisałem. Dla kliknięcia myszy i dotknięcia mamy osobne eventy, więc trzeba je osobno odczytywać.
Można też odczytywać stany pośrednie, za pomocą eventów mousemove, oraz touchmove.
Można też wprowadzić martwe strefy, czyli zakres od kiedy przesunięcie ma zostać odczytane jako przesunięcie. Wystarczy zmienić liczby w porównaniach w funkcji warunkowej.
Ogólnie jeśli kiedykolwiek musisz zrobić coś z eventami, to najlepiej wyrzucić sobie odczytany obiekt event w console log i przejrzeć co można z niego odczytać.