Documentation ¶
Overview ¶
Package keylogger is a go library for linux to capture keyboard events. About:
* No C deps
* Events ported from uapi/linux/input.h
* Needs root privilages
* Transfer keyboard code into human readable key
* Capture state changes
See README at https://github.com/MarinX/keylogger for more info.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FindAllKeyboardDevices ¶
func FindAllKeyboardDevices() []string
Like FindKeyboardDevice, but finds all devices which contain keyword 'keyboard' Returns an array of file paths which contain keyboard events
func FindKeyboardDevice ¶
func FindKeyboardDevice() string
FindKeyboardDevice by going through each device registered on OS Mostly it will contain keyword - keyboard Returns the file path which contains events
Types ¶
type EventType ¶
type EventType uint16
EventType are groupings of codes under a logical input construct. Each type has a set of applicable codes to be used in generating events. See the Ev section for details on valid codes for each type
const ( // EvSyn is used as markers to separate events. Events may be separated in time or in space, such as with the multitouch protocol. EvSyn EventType = 0x00 // EvKey is used to describe state changes of keyboards, buttons, or other key-like devices. EvKey EventType = 0x01 // EvRel is used to describe relative axis value changes, e.g. moving the mouse 5 units to the left. EvRel EventType = 0x02 // EvAbs is used to describe absolute axis value changes, e.g. describing the coordinates of a touch on a touchscreen. EvAbs EventType = 0x03 // EvMsc is used to describe miscellaneous input data that do not fit into other types. EvMsc EventType = 0x04 // EvSw is used to describe binary state input switches. EvSw EventType = 0x05 // EvLed is used to turn LEDs on devices on and off. EvLed EventType = 0x11 // EvSnd is used to output sound to devices. EvSnd EventType = 0x12 // EvRep is used for autorepeating devices. EvRep EventType = 0x14 // EvFf is used to send force feedback commands to an input device. EvFf EventType = 0x15 // EvPwr is a special type for power button and switch input. EvPwr EventType = 0x16 // EvFfStatus is used to receive force feedback device status. EvFfStatus EventType = 0x17 )
type InputEvent ¶
InputEvent is the keyboard event structure itself
func (*InputEvent) KeyPress ¶
func (i *InputEvent) KeyPress() bool
KeyPress is the value when we press the key on keyboard
func (*InputEvent) KeyRelease ¶
func (i *InputEvent) KeyRelease() bool
KeyRelease is the value when we release the key on keyboard
func (*InputEvent) KeyString ¶
func (i *InputEvent) KeyString() string
KeyString returns representation of pressed key as string eg enter, space, a, b, c...
type KeyLogger ¶
type KeyLogger struct {
// contains filtered or unexported fields
}
KeyLogger wrapper around file descriptior
func (*KeyLogger) Read ¶
func (k *KeyLogger) Read() chan InputEvent
Read from file descriptor Blocking call, returns channel Make sure to close channel when finish