evdev-2.0.0.0: Bindings to libevdev
Safe HaskellNone
LanguageHaskell2010

Evdev

Description

The main module for working with devices and events.

Synopsis

Devices

data Device Source #

An input device.

Instances

Instances details
Show Device Source # 
Instance details

Defined in Evdev

newDevice :: RawFilePath -> IO Device Source #

Create a device from a valid path - usually /dev/input/eventX for some X.

nextEvent :: Device -> IO Event Source #

Get the next event from the device.

evdevDir :: RawFilePath Source #

The usual directory containing devices ("/dev/input").

Properties

Grabbing

grabDevice :: Device -> IO () Source #

Prevent other clients (including kernel-internal ones) from receiving events. Often a bad idea.

ungrabDevice :: Device -> IO () Source #

Release a grabbed device.

Events

data Event Source #

An input event, including the timestamp.

Constructors

Event 

Instances

Instances details
Eq Event Source # 
Instance details

Defined in Evdev

Methods

(==) :: Event -> Event -> Bool #

(/=) :: Event -> Event -> Bool #

Ord Event Source # 
Instance details

Defined in Evdev

Methods

compare :: Event -> Event -> Ordering #

(<) :: Event -> Event -> Bool #

(<=) :: Event -> Event -> Bool #

(>) :: Event -> Event -> Bool #

(>=) :: Event -> Event -> Bool #

max :: Event -> Event -> Event #

min :: Event -> Event -> Event #

Show Event Source # 
Instance details

Defined in Evdev

Methods

showsPrec :: Int -> Event -> ShowS #

show :: Event -> String #

showList :: [Event] -> ShowS #

data EventData Source #

An input event, without the timestamp. Each constructor corresponds to one event type, except for UnknownEvent.

Instances

Instances details
Eq EventData Source # 
Instance details

Defined in Evdev

Ord EventData Source # 
Instance details

Defined in Evdev

Read EventData Source # 
Instance details

Defined in Evdev

Show EventData Source # 
Instance details

Defined in Evdev

data KeyEvent Source #

The status of a key.

Constructors

Released 
Pressed 
Repeated 

Instances

Instances details
Bounded KeyEvent Source # 
Instance details

Defined in Evdev

Enum KeyEvent Source # 
Instance details

Defined in Evdev

Eq KeyEvent Source # 
Instance details

Defined in Evdev

Ord KeyEvent Source # 
Instance details

Defined in Evdev

Read KeyEvent Source # 
Instance details

Defined in Evdev

Show KeyEvent Source # 
Instance details

Defined in Evdev

newtype EventCode Source #

A direct representation of the code field of the C input_event, for when there is no obvious meaningful sum type.

Constructors

EventCode Word16 

Instances

Instances details
Enum EventCode Source # 
Instance details

Defined in Evdev

Eq EventCode Source # 
Instance details

Defined in Evdev

Integral EventCode Source # 
Instance details

Defined in Evdev

Num EventCode Source # 
Instance details

Defined in Evdev

Ord EventCode Source # 
Instance details

Defined in Evdev

Read EventCode Source # 
Instance details

Defined in Evdev

Real EventCode Source # 
Instance details

Defined in Evdev

Show EventCode Source # 
Instance details

Defined in Evdev

newtype EventValue Source #

A direct representation of the value field of the C input_event, for when there is no obvious meaningful sum type.

Constructors

EventValue Int32 

Instances

Instances details
Enum EventValue Source # 
Instance details

Defined in Evdev

Eq EventValue Source # 
Instance details

Defined in Evdev

Integral EventValue Source # 
Instance details

Defined in Evdev

Num EventValue Source # 
Instance details

Defined in Evdev

Ord EventValue Source # 
Instance details

Defined in Evdev

Read EventValue Source # 
Instance details

Defined in Evdev

Real EventValue Source # 
Instance details

Defined in Evdev

Show EventValue Source # 
Instance details

Defined in Evdev

Lower-level types

These correspond more directly to C's input_event and timeval. They are used internally, but may be useful for advanced users.

data CEvent Source #

Instances

Instances details
Eq CEvent Source # 
Instance details

Defined in Evdev.LowLevel

Methods

(==) :: CEvent -> CEvent -> Bool #

(/=) :: CEvent -> CEvent -> Bool #

Ord CEvent Source # 
Instance details

Defined in Evdev.LowLevel

Read CEvent Source # 
Instance details

Defined in Evdev.LowLevel

Show CEvent Source # 
Instance details

Defined in Evdev.LowLevel

data CTimeVal Source #

Constructors

CTimeVal 

Fields

Instances

Instances details
Eq CTimeVal Source # 
Instance details

Defined in Evdev.LowLevel

Ord CTimeVal Source # 
Instance details

Defined in Evdev.LowLevel

Read CTimeVal Source # 
Instance details

Defined in Evdev.LowLevel

Show CTimeVal Source # 
Instance details

Defined in Evdev.LowLevel