I don't recommend to depend on pointer type because until native PE is implemented the type may not be accurate. For instance, Android with a mouse will return "touch". Usually you may circumvent this constraint by using pointer capture.