The DeviceEvent interface defines common operations over DeviceEvents:
translateEv :: Translation -> DeviceEvent -> DeviceEvent setEvCoord :: Coord -> DeviceEvent -> DeviceEvent getEvCoord :: DeviceEvent -> Coord getEvModifiers :: DeviceEvent -> ModState getMouseBtn :: DeviceEvent -> Coord isMouseEv :: Int -> DeviceEvent -> Bool isMouseDown, buttonDown :: Int -> DeviceEvent -> Bool isMouseUp, buttonUp :: Int -> DeviceEvent -> Bool isMotionEv :: DeviceEvent -> Bool isKeyboardEv :: DeviceEvent -> Bool button1Down :: ModState -> Bool button2Down :: ModState -> Bool button3Down :: ModState -> Bool