stmm-input-doc  0.17.0
Namespaces | Classes | Typedefs | Enumerations
stmi Namespace Reference

Namespaces

 HardwareKeys
 
 libconfig
 
 testing
 

Classes

class  Accessor
 A generic class that helps a device manager to generate events. More...
 
class  BasicDevice
 Device class template. More...
 
class  BasicDeviceManager
 Helper class for implementing a device manager. More...
 
class  CallIf
 Base class used to determine whether to send an event to a listener. More...
 
class  CallIfAccessor
 Accessor callif. More...
 
class  CallIfAnd
 Applies a "conditional AND" to two callif conditions. More...
 
class  CallIfCapabilityClass
 Capability class callif. More...
 
class  CallIfCapabilityId
 Capability id callif. More...
 
class  CallIfDeviceId
 Device id callif. More...
 
class  CallIfDeviceManagerCapability
 Device manager capability callif. More...
 
class  CallIfEventClass
 Event class callif. More...
 
class  CallIfFalse
 Never call back listener. More...
 
class  CallIfFuction
 Function callif. More...
 
class  CallIfNot
 Applies a "NOT" to a callif condition. More...
 
class  CallIfOr
 Applies a "conditional OR" to two callif conditions. More...
 
class  CallIfTrue
 Always call back listener. More...
 
class  CallIfXYEvent
 XYEvent class callif. More...
 
class  Capability
 Base capability class. More...
 
class  ChildDeviceManager
 Defines a child device manager. More...
 
class  Device
 Device base class. More...
 
class  DeviceManager
 This class manages devices that generate events that listeners will receive. More...
 
class  DeviceManagerCapability
 DeviceManager capabilities should derive from this class. More...
 
class  DeviceMgmtCapability
 Device manager's capability for tree like composed device managers. More...
 
class  DeviceMgmtEvent
 Event informing about a device being added, removed or changed. More...
 
class  Event
 Base event class. More...
 
class  GdkKeyConverter
 Gdk key event (keycode) to hardware key conversion class. More...
 
class  GdkKeyConverterEvDev
 Converts from evdev gdk keycode to hardware key (linux/input.h). More...
 
class  GtkAccessor
 Accessor wrapping a Gtk::Window. More...
 
class  GtkDeviceManager
 Device manager that attaches to Gtk's main event loop. More...
 
class  JoystickAxisEvent
 Event generated when the state of a joystick's absolute axis is changed. More...
 
class  JoystickButtonEvent
 Event generated when the state of a joystick's button is changed. More...
 
class  JoystickCapability
 The joystick capability of a device. More...
 
class  JoystickHatEvent
 Event generated when the state of a joystick's hat is changed. More...
 
class  JsDeviceFiles
 Joystick device files initialization class for GtkDeviceManager. More...
 
class  KeyCapability
 The keys capability of a device. More...
 
class  KeyEvent
 Event generated when the state of a key is changed. More...
 
class  KeyRepeat
 Key repeat translation type. More...
 
class  ParentDeviceManager
 Device manager container class. More...
 
class  PluginsDeviceManager
 Dynamic plug-in loader device manager class. More...
 
class  PointerCapability
 The pointer capability of a device. More...
 
class  PointerEvent
 Event generated when the button state or the position of a pointer is changed. More...
 
class  PointerScrollEvent
 Event generated when scrolling the pointer. More...
 
class  StdDeviceManager
 Helper class for implementing a device manager with DeviceMgmtCapability. More...
 
class  TouchCapability
 The touch capability of a device. More...
 
class  TouchEvent
 Event generated when the state of a touch is changed. More...
 
class  XYEvent
 Base class for pointer-like events that hold coordinates. More...
 

Typedefs

using EventListener = std::function< void(const shared_ptr< Event > &) noexcept >
 The callback function type of the event listener. More...
 
typedef shared_ptr< ChildDeviceManagercreatePlugin_t(const std::string &sAppName, bool bEnableEventClasses, const std::vector< Event::Class > &aEnDisableEventClasses)
 The signature of the "createPlugin" function every plugin must provide. More...
 

Enumerations

enum  HARDWARE_KEY {
  HK_NULL = 0, HK_ESC = 1, HK_1 = 2, HK_2 = 3,
  HK_3 = 4, HK_4 = 5, HK_5 = 6, HK_6 = 7,
  HK_7 = 8, HK_8 = 9, HK_9 = 10, HK_0 = 11,
  HK_MINUS = 12, HK_EQUAL = 13, HK_BACKSPACE = 14, HK_TAB = 15,
  HK_Q = 16, HK_W = 17, HK_E = 18, HK_R = 19,
  HK_T = 20, HK_Y = 21, HK_U = 22, HK_I = 23,
  HK_O = 24, HK_P = 25, HK_LEFTBRACE = 26, HK_RIGHTBRACE = 27,
  HK_ENTER = 28, HK_LEFTCTRL = 29, HK_A = 30, HK_S = 31,
  HK_D = 32, HK_F = 33, HK_G = 34, HK_H = 35,
  HK_J = 36, HK_K = 37, HK_L = 38, HK_SEMICOLON = 39,
  HK_APOSTROPHE = 40, HK_GRAVE = 41, HK_LEFTSHIFT = 42, HK_BACKSLASH = 43,
  HK_Z = 44, HK_X = 45, HK_C = 46, HK_V = 47,
  HK_B = 48, HK_N = 49, HK_M = 50, HK_COMMA = 51,
  HK_DOT = 52, HK_SLASH = 53, HK_RIGHTSHIFT = 54, HK_KPASTERISK = 55,
  HK_LEFTALT = 56, HK_SPACE = 57, HK_CAPSLOCK = 58, HK_F1 = 59,
  HK_F2 = 60, HK_F3 = 61, HK_F4 = 62, HK_F5 = 63,
  HK_F6 = 64, HK_F7 = 65, HK_F8 = 66, HK_F9 = 67,
  HK_F10 = 68, HK_NUMLOCK = 69, HK_SCROLLLOCK = 70, HK_KP7 = 71,
  HK_KP8 = 72, HK_KP9 = 73, HK_KPMINUS = 74, HK_KP4 = 75,
  HK_KP5 = 76, HK_KP6 = 77, HK_KPPLUS = 78, HK_KP1 = 79,
  HK_KP2 = 80, HK_KP3 = 81, HK_KP0 = 82, HK_KPDOT = 83,
  HK_ZENKAKUHANKAKU = 85, HK_102ND = 86, HK_F11 = 87, HK_F12 = 88,
  HK_RO = 89, HK_KATAKANA = 90, HK_HIRAGANA = 91, HK_HENKAN = 92,
  HK_KATAKANAHIRAGANA = 93, HK_MUHENKAN = 94, HK_KPJPCOMMA = 95, HK_KPENTER = 96,
  HK_RIGHTCTRL = 97, HK_KPSLASH = 98, HK_SYSRQ = 99, HK_RIGHTALT = 100,
  HK_LINEFEED = 101, HK_HOME = 102, HK_UP = 103, HK_PAGEUP = 104,
  HK_LEFT = 105, HK_RIGHT = 106, HK_END = 107, HK_DOWN = 108,
  HK_PAGEDOWN = 109, HK_INSERT = 110, HK_DELETE = 111, HK_MACRO = 112,
  HK_MUTE = 113, HK_VOLUMEDOWN = 114, HK_VOLUMEUP = 115, HK_POWER = 116,
  HK_KPEQUAL = 117, HK_KPPLUSMINUS = 118, HK_PAUSE = 119, HK_SCALE = 120,
  HK_KPCOMMA = 121, HK_HANGEUL = 122, HK_HANJA = 123, HK_YEN = 124,
  HK_LEFTMETA = 125, HK_RIGHTMETA = 126, HK_COMPOSE = 127, HK_STOP = 128,
  HK_AGAIN = 129, HK_PROPS = 130, HK_UNDO = 131, HK_FRONT = 132,
  HK_COPY = 133, HK_OPEN = 134, HK_PASTE = 135, HK_FIND = 136,
  HK_CUT = 137, HK_HELP = 138, HK_MENU = 139, HK_CALC = 140,
  HK_SETUP = 141, HK_SLEEP = 142, HK_WAKEUP = 143, HK_FILE = 144,
  HK_SENDFILE = 145, HK_DELETEFILE = 146, HK_XFER = 147, HK_PROG1 = 148,
  HK_PROG2 = 149, HK_WWW = 150, HK_MSDOS = 151, HK_SCREENLOCK = 152,
  HK_DIRECTION = 153, HK_CYCLEWINDOWS = 154, HK_MAIL = 155, HK_BOOKMARKS = 156,
  HK_COMPUTER = 157, HK_BACK = 158, HK_FORWARD = 159, HK_CLOSECD = 160,
  HK_EJECTCD = 161, HK_EJECTCLOSECD = 162, HK_NEXTSONG = 163, HK_PLAYPAUSE = 164,
  HK_PREVIOUSSONG = 165, HK_STOPCD = 166, HK_RECORD = 167, HK_REWIND = 168,
  HK_PHONE = 169, HK_ISO = 170, HK_CONFIG = 171, HK_HOMEPAGE = 172,
  HK_REFRESH = 173, HK_EXIT = 174, HK_MOVE = 175, HK_EDIT = 176,
  HK_SCROLLUP = 177, HK_SCROLLDOWN = 178, HK_KPLEFTPAREN = 179, HK_KPRIGHTPAREN = 180,
  HK_NEW = 181, HK_REDO = 182, HK_F13 = 183, HK_F14 = 184,
  HK_F15 = 185, HK_F16 = 186, HK_F17 = 187, HK_F18 = 188,
  HK_F19 = 189, HK_F20 = 190, HK_F21 = 191, HK_F22 = 192,
  HK_F23 = 193, HK_F24 = 194, HK_PLAYCD = 200, HK_PAUSECD = 201,
  HK_PROG3 = 202, HK_PROG4 = 203, HK_DASHBOARD = 204, HK_SUSPEND = 205,
  HK_CLOSE = 206, HK_PLAY = 207, HK_FASTFORWARD = 208, HK_BASSBOOST = 209,
  HK_PRINT = 210, HK_HP = 211, HK_CAMERA = 212, HK_SOUND = 213,
  HK_QUESTION = 214, HK_EMAIL = 215, HK_CHAT = 216, HK_SEARCH = 217,
  HK_CONNECT = 218, HK_FINANCE = 219, HK_SPORT = 220, HK_SHOP = 221,
  HK_ALTERASE = 222, HK_CANCEL = 223, HK_BRIGHTNESSDOWN = 224, HK_BRIGHTNESSUP = 225,
  HK_MEDIA = 226, HK_SWITCHVIDEOMODE = 227, HK_KBDILLUMTOGGLE = 228, HK_KBDILLUMDOWN = 229,
  HK_KBDILLUMUP = 230, HK_SEND = 231, HK_REPLY = 232, HK_FORWARDMAIL = 233,
  HK_SAVE = 234, HK_DOCUMENTS = 235, HK_BATTERY = 236, HK_BLUETOOTH = 237,
  HK_WLAN = 238, HK_UWB = 239, HK_UNKNOWN = 240, HK_VIDEO_NEXT = 241,
  HK_VIDEO_PREV = 242, HK_BRIGHTNESS_CYCLE = 243, HK_BRIGHTNESS_ZERO = 244, HK_DISPLAY_OFF = 245,
  HK_WIMAX = 246, HK_RFKILL = 247, HK_MICMUTE = 248, HK_BTN_0 = 0x100,
  HK_BTN_1 = 0x101, HK_BTN_2 = 0x102, HK_BTN_3 = 0x103, HK_BTN_4 = 0x104,
  HK_BTN_5 = 0x105, HK_BTN_6 = 0x106, HK_BTN_7 = 0x107, HK_BTN_8 = 0x108,
  HK_BTN_9 = 0x109, HK_BTN_LEFT = 0x110, HK_BTN_RIGHT = 0x111, HK_BTN_MIDDLE = 0x112,
  HK_BTN_SIDE = 0x113, HK_BTN_EXTRA = 0x114, HK_BTN_FORWARD = 0x115, HK_BTN_BACK = 0x116,
  HK_BTN_TASK = 0x117, HK_BTN_TRIGGER = 0x120, HK_BTN_THUMB = 0x121, HK_BTN_THUMB2 = 0x122,
  HK_BTN_TOP = 0x123, HK_BTN_TOP2 = 0x124, HK_BTN_PINKIE = 0x125, HK_BTN_BASE = 0x126,
  HK_BTN_BASE2 = 0x127, HK_BTN_BASE3 = 0x128, HK_BTN_BASE4 = 0x129, HK_BTN_BASE5 = 0x12a,
  HK_BTN_BASE6 = 0x12b, HK_BTN_DEAD = 0x12f, HK_BTN_A = 0x130, HK_BTN_B = 0x131,
  HK_BTN_C = 0x132, HK_BTN_X = 0x133, HK_BTN_Y = 0x134, HK_BTN_Z = 0x135,
  HK_BTN_TL = 0x136, HK_BTN_TR = 0x137, HK_BTN_TL2 = 0x138, HK_BTN_TR2 = 0x139,
  HK_BTN_SELECT = 0x13a, HK_BTN_START = 0x13b, HK_BTN_MODE = 0x13c, HK_BTN_THUMBL = 0x13d,
  HK_BTN_THUMBR = 0x13e, HK_BTN_TOOL_PEN = 0x140, HK_BTN_TOOL_RUBBER = 0x141, HK_BTN_TOOL_BRUSH = 0x142,
  HK_BTN_TOOL_PENCIL = 0x143, HK_BTN_TOOL_AIRBRUSH = 0x144, HK_BTN_TOOL_FINGER = 0x145, HK_BTN_TOOL_MOUSE = 0x146,
  HK_BTN_TOOL_LENS = 0x147, HK_BTN_TOOL_QUINTTAP = 0x148, HK_BTN_TOUCH = 0x14a, HK_BTN_STYLUS = 0x14b,
  HK_BTN_STYLUS2 = 0x14c, HK_BTN_TOOL_DOUBLETAP = 0x14d, HK_BTN_TOOL_TRIPLETAP = 0x14e, HK_BTN_TOOL_QUADTAP = 0x14f,
  HK_BTN_GEAR_DOWN = 0x150, HK_BTN_GEAR_UP = 0x151, HK_OK = 0x160, HK_SELECT = 0x161,
  HK_GOTO = 0x162, HK_CLEAR = 0x163, HK_POWER2 = 0x164, HK_OPTION = 0x165,
  HK_INFO = 0x166, HK_TIME = 0x167, HK_VENDOR = 0x168, HK_ARCHIVE = 0x169,
  HK_PROGRAM = 0x16a, HK_CHANNEL = 0x16b, HK_FAVORITES = 0x16c, HK_EPG = 0x16d,
  HK_PVR = 0x16e, HK_MHP = 0x16f, HK_LANGUAGE = 0x170, HK_TITLE = 0x171,
  HK_SUBTITLE = 0x172, HK_ANGLE = 0x173, HK_ZOOM = 0x174, HK_MODE = 0x175,
  HK_KEYBOARD = 0x176, HK_SCREEN = 0x177, HK_PC = 0x178, HK_TV = 0x179,
  HK_TV2 = 0x17a, HK_VCR = 0x17b, HK_VCR2 = 0x17c, HK_SAT = 0x17d,
  HK_SAT2 = 0x17e, HK_CD = 0x17f, HK_TAPE = 0x180, HK_RADIO = 0x181,
  HK_TUNER = 0x182, HK_PLAYER = 0x183, HK_TEXT = 0x184, HK_DVD = 0x185,
  HK_AUX = 0x186, HK_MP3 = 0x187, HK_AUDIO = 0x188, HK_VIDEO = 0x189,
  HK_DIRECTORY = 0x18a, HK_LIST = 0x18b, HK_MEMO = 0x18c, HK_CALENDAR = 0x18d,
  HK_RED = 0x18e, HK_GREEN = 0x18f, HK_YELLOW = 0x190, HK_BLUE = 0x191,
  HK_CHANNELUP = 0x192, HK_CHANNELDOWN = 0x193, HK_FIRST = 0x194, HK_LAST = 0x195,
  HK_AB = 0x196, HK_NEXT = 0x197, HK_RESTART = 0x198, HK_SLOW = 0x199,
  HK_SHUFFLE = 0x19a, HK_BREAK = 0x19b, HK_PREVIOUS = 0x19c, HK_DIGITS = 0x19d,
  HK_TEEN = 0x19e, HK_TWEN = 0x19f, HK_VIDEOPHONE = 0x1a0, HK_GAMES = 0x1a1,
  HK_ZOOMIN = 0x1a2, HK_ZOOMOUT = 0x1a3, HK_ZOOMRESET = 0x1a4, HK_WORDPROCESSOR = 0x1a5,
  HK_EDITOR = 0x1a6, HK_SPREADSHEET = 0x1a7, HK_GRAPHICSEDITOR = 0x1a8, HK_PRESENTATION = 0x1a9,
  HK_DATABASE = 0x1aa, HK_NEWS = 0x1ab, HK_VOICEMAIL = 0x1ac, HK_ADDRESSBOOK = 0x1ad,
  HK_MESSENGER = 0x1ae, HK_BRIGHTNESS_TOGGLE = 0x1af, HK_SPELLCHECK = 0x1b0, HK_LOGOFF = 0x1b1,
  HK_DOLLAR = 0x1b2, HK_EURO = 0x1b3, HK_FRAMEBACK = 0x1b4, HK_FRAMEFORWARD = 0x1b5,
  HK_CONTEXT_MENU = 0x1b6, HK_MEDIA_REPEAT = 0x1b7, HK_10CHANNELSUP = 0x1b8, HK_10CHANNELSDOWN = 0x1b9,
  HK_IMAGES = 0x1ba, HK_DEL_EOL = 0x1c0, HK_DEL_EOS = 0x1c1, HK_INS_LINE = 0x1c2,
  HK_DEL_LINE = 0x1c3, HK_FN = 0x1d0, HK_FN_ESC = 0x1d1, HK_FN_F1 = 0x1d2,
  HK_FN_F2 = 0x1d3, HK_FN_F3 = 0x1d4, HK_FN_F4 = 0x1d5, HK_FN_F5 = 0x1d6,
  HK_FN_F6 = 0x1d7, HK_FN_F7 = 0x1d8, HK_FN_F8 = 0x1d9, HK_FN_F9 = 0x1da,
  HK_FN_F10 = 0x1db, HK_FN_F11 = 0x1dc, HK_FN_F12 = 0x1dd, HK_FN_1 = 0x1de,
  HK_FN_2 = 0x1df, HK_FN_D = 0x1e0, HK_FN_E = 0x1e1, HK_FN_F = 0x1e2,
  HK_FN_S = 0x1e3, HK_FN_B = 0x1e4, HK_BRL_DOT1 = 0x1f1, HK_BRL_DOT2 = 0x1f2,
  HK_BRL_DOT3 = 0x1f3, HK_BRL_DOT4 = 0x1f4, HK_BRL_DOT5 = 0x1f5, HK_BRL_DOT6 = 0x1f6,
  HK_BRL_DOT7 = 0x1f7, HK_BRL_DOT8 = 0x1f8, HK_BRL_DOT9 = 0x1f9, HK_BRL_DOT10 = 0x1fa,
  HK_NUMERIC_0 = 0x200, HK_NUMERIC_1 = 0x201, HK_NUMERIC_2 = 0x202, HK_NUMERIC_3 = 0x203,
  HK_NUMERIC_4 = 0x204, HK_NUMERIC_5 = 0x205, HK_NUMERIC_6 = 0x206, HK_NUMERIC_7 = 0x207,
  HK_NUMERIC_8 = 0x208, HK_NUMERIC_9 = 0x209, HK_NUMERIC_STAR = 0x20a, HK_NUMERIC_POUND = 0x20b,
  HK_CAMERA_FOCUS = 0x210, HK_WPS_BUTTON = 0x211, HK_TOUCHPAD_TOGGLE = 0x212, HK_TOUCHPAD_ON = 0x213,
  HK_TOUCHPAD_OFF = 0x214, HK_CAMERA_ZOOMIN = 0x215, HK_CAMERA_ZOOMOUT = 0x216, HK_CAMERA_UP = 0x217,
  HK_CAMERA_DOWN = 0x218, HK_CAMERA_LEFT = 0x219, HK_CAMERA_RIGHT = 0x21a, HK_ATTENDANT_ON = 0x21b,
  HK_ATTENDANT_OFF = 0x21c, HK_ATTENDANT_TOGGLE = 0x21d, HK_LIGHTS_TOGGLE = 0x21e, HK_BTN_DPAD_UP = 0x220,
  HK_BTN_DPAD_DOWN = 0x221, HK_BTN_DPAD_LEFT = 0x222, HK_BTN_DPAD_RIGHT = 0x223, HK_ALS_TOGGLE = 0x230,
  HK_BUTTONCONFIG = 0x240, HK_TASKMANAGER = 0x241, HK_JOURNAL = 0x242, HK_CONTROLPANEL = 0x243,
  HK_APPSELECT = 0x244, HK_SCREENSAVER = 0x245, HK_VOICECOMMAND = 0x246, HK_BRIGHTNESS_MIN = 0x250,
  HK_BRIGHTNESS_MAX = 0x251, HK_KBDINPUTASSIST_PREV = 0x260, HK_KBDINPUTASSIST_NEXT = 0x261, HK_KBDINPUTASSIST_PREVGROUP = 0x262,
  HK_KBDINPUTASSIST_NEXTGROUP = 0x263, HK_KBDINPUTASSIST_ACCEPT = 0x264, HK_KBDINPUTASSIST_CANCEL = 0x265, HK_BTN_TRIGGER_HAPPY1 = 0x2c0,
  HK_BTN_TRIGGER_HAPPY2 = 0x2c1, HK_BTN_TRIGGER_HAPPY3 = 0x2c2, HK_BTN_TRIGGER_HAPPY4 = 0x2c3, HK_BTN_TRIGGER_HAPPY5 = 0x2c4,
  HK_BTN_TRIGGER_HAPPY6 = 0x2c5, HK_BTN_TRIGGER_HAPPY7 = 0x2c6, HK_BTN_TRIGGER_HAPPY8 = 0x2c7, HK_BTN_TRIGGER_HAPPY9 = 0x2c8,
  HK_BTN_TRIGGER_HAPPY10 = 0x2c9, HK_BTN_TRIGGER_HAPPY11 = 0x2ca, HK_BTN_TRIGGER_HAPPY12 = 0x2cb, HK_BTN_TRIGGER_HAPPY13 = 0x2cc,
  HK_BTN_TRIGGER_HAPPY14 = 0x2cd, HK_BTN_TRIGGER_HAPPY15 = 0x2ce, HK_BTN_TRIGGER_HAPPY16 = 0x2cf, HK_BTN_TRIGGER_HAPPY17 = 0x2d0,
  HK_BTN_TRIGGER_HAPPY18 = 0x2d1, HK_BTN_TRIGGER_HAPPY19 = 0x2d2, HK_BTN_TRIGGER_HAPPY20 = 0x2d3, HK_BTN_TRIGGER_HAPPY21 = 0x2d4,
  HK_BTN_TRIGGER_HAPPY22 = 0x2d5, HK_BTN_TRIGGER_HAPPY23 = 0x2d6, HK_BTN_TRIGGER_HAPPY24 = 0x2d7, HK_BTN_TRIGGER_HAPPY25 = 0x2d8,
  HK_BTN_TRIGGER_HAPPY26 = 0x2d9, HK_BTN_TRIGGER_HAPPY27 = 0x2da, HK_BTN_TRIGGER_HAPPY28 = 0x2db, HK_BTN_TRIGGER_HAPPY29 = 0x2dc,
  HK_BTN_TRIGGER_HAPPY30 = 0x2dd, HK_BTN_TRIGGER_HAPPY31 = 0x2de, HK_BTN_TRIGGER_HAPPY32 = 0x2df, HK_BTN_TRIGGER_HAPPY33 = 0x2e0,
  HK_BTN_TRIGGER_HAPPY34 = 0x2e1, HK_BTN_TRIGGER_HAPPY35 = 0x2e2, HK_BTN_TRIGGER_HAPPY36 = 0x2e3, HK_BTN_TRIGGER_HAPPY37 = 0x2e4,
  HK_BTN_TRIGGER_HAPPY38 = 0x2e5, HK_BTN_TRIGGER_HAPPY39 = 0x2e6, HK_BTN_TRIGGER_HAPPY40 = 0x2e7, HK_X_SCROLL_LEFT = 0x300,
  HK_X_SCROLL_RIGHT = 0x301
}
 The hardware key codes. More...
 

Typedef Documentation

◆ createPlugin_t

typedef shared_ptr<ChildDeviceManager> stmi::createPlugin_t(const std::string &sAppName, bool bEnableEventClasses, const std::vector< Event::Class > &aEnDisableEventClasses)

The signature of the "createPlugin" function every plugin must provide.

Beware: the function shouldn't throw exceptions.

The function definition must be surrounded by extern "C". Example:

#ifdef __cplusplus
extern "C" {
#endif //__cplusplus

shared_ptr<ChildDeviceManager> createPlugin(const std::string& sAppName
                                          , bool bEnableEventClasses
                                          , const std::vector<Event::Class>& aEnDisableEventClasses);

#ifdef __cplusplus
}
#endif //__cplusplus

Parameter sAppName The application name. Can be empty.

Parameter bEnableEventClasses Whether to enable or disable event classes.

Parameter aEnDisableEventClasses The event classes to enable or disable.

Return The device manager or null if couldn't create one.

◆ EventListener

using stmi::EventListener = typedef std::function<void(const shared_ptr<Event>&) noexcept>

The callback function type of the event listener.

Should not throw exceptions.

See also
DeviceManager::addEventListener().
Parameters
refEventThe event. Can't be null.

Enumeration Type Documentation

◆ HARDWARE_KEY

The hardware key codes.

See <linux/input.h>

Enumerator
HK_NULL 
HK_ESC 
HK_1 
HK_2 
HK_3 
HK_4 
HK_5 
HK_6 
HK_7 
HK_8 
HK_9 
HK_0 
HK_MINUS 
HK_EQUAL 
HK_BACKSPACE 
HK_TAB 
HK_Q 
HK_W 
HK_E 
HK_R 
HK_T 
HK_Y 
HK_U 
HK_I 
HK_O 
HK_P 
HK_LEFTBRACE 
HK_RIGHTBRACE 
HK_ENTER 
HK_LEFTCTRL 
HK_A 
HK_S 
HK_D 
HK_F 
HK_G 
HK_H 
HK_J 
HK_K 
HK_L 
HK_SEMICOLON 
HK_APOSTROPHE 
HK_GRAVE 
HK_LEFTSHIFT 
HK_BACKSLASH 
HK_Z 
HK_X 
HK_C 
HK_V 
HK_B 
HK_N 
HK_M 
HK_COMMA 
HK_DOT 
HK_SLASH 
HK_RIGHTSHIFT 
HK_KPASTERISK 
HK_LEFTALT 
HK_SPACE 
HK_CAPSLOCK 
HK_F1 
HK_F2 
HK_F3 
HK_F4 
HK_F5 
HK_F6 
HK_F7 
HK_F8 
HK_F9 
HK_F10 
HK_NUMLOCK 
HK_SCROLLLOCK 
HK_KP7 
HK_KP8 
HK_KP9 
HK_KPMINUS 
HK_KP4 
HK_KP5 
HK_KP6 
HK_KPPLUS 
HK_KP1 
HK_KP2 
HK_KP3 
HK_KP0 
HK_KPDOT 
HK_ZENKAKUHANKAKU 
HK_102ND 
HK_F11 
HK_F12 
HK_RO 
HK_KATAKANA 
HK_HIRAGANA 
HK_HENKAN 
HK_KATAKANAHIRAGANA 
HK_MUHENKAN 
HK_KPJPCOMMA 
HK_KPENTER 
HK_RIGHTCTRL 
HK_KPSLASH 
HK_SYSRQ 
HK_RIGHTALT 
HK_LINEFEED 
HK_HOME 
HK_UP 
HK_PAGEUP 
HK_LEFT 
HK_RIGHT 
HK_END 
HK_DOWN 
HK_PAGEDOWN 
HK_INSERT 
HK_DELETE 
HK_MACRO 
HK_MUTE 
HK_VOLUMEDOWN 
HK_VOLUMEUP 
HK_POWER 
HK_KPEQUAL 
HK_KPPLUSMINUS 
HK_PAUSE 
HK_SCALE 
HK_KPCOMMA 
HK_HANGEUL 
HK_HANJA 
HK_YEN 
HK_LEFTMETA 
HK_RIGHTMETA 
HK_COMPOSE 
HK_STOP 
HK_AGAIN 
HK_PROPS 
HK_UNDO 
HK_FRONT 
HK_COPY 
HK_OPEN 
HK_PASTE 
HK_FIND 
HK_CUT 
HK_HELP 
HK_MENU 
HK_CALC 
HK_SETUP 
HK_SLEEP 
HK_WAKEUP 
HK_FILE 
HK_SENDFILE 
HK_DELETEFILE 
HK_XFER 
HK_PROG1 
HK_PROG2 
HK_WWW 
HK_MSDOS 
HK_SCREENLOCK 
HK_DIRECTION 
HK_CYCLEWINDOWS 
HK_MAIL 
HK_BOOKMARKS 
HK_COMPUTER 
HK_BACK 
HK_FORWARD 
HK_CLOSECD 
HK_EJECTCD 
HK_EJECTCLOSECD 
HK_NEXTSONG 
HK_PLAYPAUSE 
HK_PREVIOUSSONG 
HK_STOPCD 
HK_RECORD 
HK_REWIND 
HK_PHONE 
HK_ISO 
HK_CONFIG 
HK_HOMEPAGE 
HK_REFRESH 
HK_EXIT 
HK_MOVE 
HK_EDIT 
HK_SCROLLUP 
HK_SCROLLDOWN 
HK_KPLEFTPAREN 
HK_KPRIGHTPAREN 
HK_NEW 
HK_REDO 
HK_F13 
HK_F14 
HK_F15 
HK_F16 
HK_F17 
HK_F18 
HK_F19 
HK_F20 
HK_F21 
HK_F22 
HK_F23 
HK_F24 
HK_PLAYCD 
HK_PAUSECD 
HK_PROG3 
HK_PROG4 
HK_DASHBOARD 
HK_SUSPEND 
HK_CLOSE 
HK_PLAY 
HK_FASTFORWARD 
HK_BASSBOOST 
HK_PRINT 
HK_HP 
HK_CAMERA 
HK_SOUND 
HK_QUESTION 
HK_EMAIL 
HK_CHAT 
HK_SEARCH 
HK_CONNECT 
HK_FINANCE 
HK_SPORT 
HK_SHOP 
HK_ALTERASE 
HK_CANCEL 
HK_BRIGHTNESSDOWN 
HK_BRIGHTNESSUP 
HK_MEDIA 
HK_SWITCHVIDEOMODE 
HK_KBDILLUMTOGGLE 
HK_KBDILLUMDOWN 
HK_KBDILLUMUP 
HK_SEND 
HK_REPLY 
HK_FORWARDMAIL 
HK_SAVE 
HK_DOCUMENTS 
HK_BATTERY 
HK_BLUETOOTH 
HK_WLAN 
HK_UWB 
HK_UNKNOWN 
HK_VIDEO_NEXT 
HK_VIDEO_PREV 
HK_BRIGHTNESS_CYCLE 
HK_BRIGHTNESS_ZERO 
HK_DISPLAY_OFF 
HK_WIMAX 
HK_RFKILL 
HK_MICMUTE 
HK_BTN_0 
HK_BTN_1 
HK_BTN_2 
HK_BTN_3 
HK_BTN_4 
HK_BTN_5 
HK_BTN_6 
HK_BTN_7 
HK_BTN_8 
HK_BTN_9 
HK_BTN_LEFT 
HK_BTN_RIGHT 
HK_BTN_MIDDLE 
HK_BTN_SIDE 
HK_BTN_EXTRA 
HK_BTN_FORWARD 
HK_BTN_BACK 
HK_BTN_TASK 
HK_BTN_TRIGGER 
HK_BTN_THUMB 
HK_BTN_THUMB2 
HK_BTN_TOP 
HK_BTN_TOP2 
HK_BTN_PINKIE 
HK_BTN_BASE 
HK_BTN_BASE2 
HK_BTN_BASE3 
HK_BTN_BASE4 
HK_BTN_BASE5 
HK_BTN_BASE6 
HK_BTN_DEAD 
HK_BTN_A 
HK_BTN_B 
HK_BTN_C 
HK_BTN_X 
HK_BTN_Y 
HK_BTN_Z 
HK_BTN_TL 
HK_BTN_TR 
HK_BTN_TL2 
HK_BTN_TR2 
HK_BTN_SELECT 
HK_BTN_START 
HK_BTN_MODE 
HK_BTN_THUMBL 
HK_BTN_THUMBR 
HK_BTN_TOOL_PEN 
HK_BTN_TOOL_RUBBER 
HK_BTN_TOOL_BRUSH 
HK_BTN_TOOL_PENCIL 
HK_BTN_TOOL_AIRBRUSH 
HK_BTN_TOOL_FINGER 
HK_BTN_TOOL_MOUSE 
HK_BTN_TOOL_LENS 
HK_BTN_TOOL_QUINTTAP 
HK_BTN_TOUCH 
HK_BTN_STYLUS 
HK_BTN_STYLUS2 
HK_BTN_TOOL_DOUBLETAP 
HK_BTN_TOOL_TRIPLETAP 
HK_BTN_TOOL_QUADTAP 
HK_BTN_GEAR_DOWN 
HK_BTN_GEAR_UP 
HK_OK 
HK_SELECT 
HK_GOTO 
HK_CLEAR 
HK_POWER2 
HK_OPTION 
HK_INFO 
HK_TIME 
HK_VENDOR 
HK_ARCHIVE 
HK_PROGRAM 
HK_CHANNEL 
HK_FAVORITES 
HK_EPG 
HK_PVR 
HK_MHP 
HK_LANGUAGE 
HK_TITLE 
HK_SUBTITLE 
HK_ANGLE 
HK_ZOOM 
HK_MODE 
HK_KEYBOARD 
HK_SCREEN 
HK_PC 
HK_TV 
HK_TV2 
HK_VCR 
HK_VCR2 
HK_SAT 
HK_SAT2 
HK_CD 
HK_TAPE 
HK_RADIO 
HK_TUNER 
HK_PLAYER 
HK_TEXT 
HK_DVD 
HK_AUX 
HK_MP3 
HK_AUDIO 
HK_VIDEO 
HK_DIRECTORY 
HK_LIST 
HK_MEMO 
HK_CALENDAR 
HK_RED 
HK_GREEN 
HK_YELLOW 
HK_BLUE 
HK_CHANNELUP 
HK_CHANNELDOWN 
HK_FIRST 
HK_LAST 
HK_AB 
HK_NEXT 
HK_RESTART 
HK_SLOW 
HK_SHUFFLE 
HK_BREAK 
HK_PREVIOUS 
HK_DIGITS 
HK_TEEN 
HK_TWEN 
HK_VIDEOPHONE 
HK_GAMES 
HK_ZOOMIN 
HK_ZOOMOUT 
HK_ZOOMRESET 
HK_WORDPROCESSOR 
HK_EDITOR 
HK_SPREADSHEET 
HK_GRAPHICSEDITOR 
HK_PRESENTATION 
HK_DATABASE 
HK_NEWS 
HK_VOICEMAIL 
HK_ADDRESSBOOK 
HK_MESSENGER 
HK_BRIGHTNESS_TOGGLE 
HK_SPELLCHECK 
HK_LOGOFF 
HK_DOLLAR 
HK_EURO 
HK_FRAMEBACK 
HK_FRAMEFORWARD 
HK_CONTEXT_MENU 
HK_MEDIA_REPEAT 
HK_10CHANNELSUP 
HK_10CHANNELSDOWN 
HK_IMAGES 
HK_DEL_EOL 
HK_DEL_EOS 
HK_INS_LINE 
HK_DEL_LINE 
HK_FN 
HK_FN_ESC 
HK_FN_F1 
HK_FN_F2 
HK_FN_F3 
HK_FN_F4 
HK_FN_F5 
HK_FN_F6 
HK_FN_F7 
HK_FN_F8 
HK_FN_F9 
HK_FN_F10 
HK_FN_F11 
HK_FN_F12 
HK_FN_1 
HK_FN_2 
HK_FN_D 
HK_FN_E 
HK_FN_F 
HK_FN_S 
HK_FN_B 
HK_BRL_DOT1 
HK_BRL_DOT2 
HK_BRL_DOT3 
HK_BRL_DOT4 
HK_BRL_DOT5 
HK_BRL_DOT6 
HK_BRL_DOT7 
HK_BRL_DOT8 
HK_BRL_DOT9 
HK_BRL_DOT10 
HK_NUMERIC_0 
HK_NUMERIC_1 
HK_NUMERIC_2 
HK_NUMERIC_3 
HK_NUMERIC_4 
HK_NUMERIC_5 
HK_NUMERIC_6 
HK_NUMERIC_7 
HK_NUMERIC_8 
HK_NUMERIC_9 
HK_NUMERIC_STAR 
HK_NUMERIC_POUND 
HK_CAMERA_FOCUS 
HK_WPS_BUTTON 
HK_TOUCHPAD_TOGGLE 
HK_TOUCHPAD_ON 
HK_TOUCHPAD_OFF 
HK_CAMERA_ZOOMIN 
HK_CAMERA_ZOOMOUT 
HK_CAMERA_UP 
HK_CAMERA_DOWN 
HK_CAMERA_LEFT 
HK_CAMERA_RIGHT 
HK_ATTENDANT_ON 
HK_ATTENDANT_OFF 
HK_ATTENDANT_TOGGLE 
HK_LIGHTS_TOGGLE 
HK_BTN_DPAD_UP 
HK_BTN_DPAD_DOWN 
HK_BTN_DPAD_LEFT 
HK_BTN_DPAD_RIGHT 
HK_ALS_TOGGLE 
HK_BUTTONCONFIG 
HK_TASKMANAGER 
HK_JOURNAL 
HK_CONTROLPANEL 
HK_APPSELECT 
HK_SCREENSAVER 
HK_VOICECOMMAND 
HK_BRIGHTNESS_MIN 
HK_BRIGHTNESS_MAX 
HK_KBDINPUTASSIST_PREV 
HK_KBDINPUTASSIST_NEXT 
HK_KBDINPUTASSIST_PREVGROUP 
HK_KBDINPUTASSIST_NEXTGROUP 
HK_KBDINPUTASSIST_ACCEPT 
HK_KBDINPUTASSIST_CANCEL 
HK_BTN_TRIGGER_HAPPY1 
HK_BTN_TRIGGER_HAPPY2 
HK_BTN_TRIGGER_HAPPY3 
HK_BTN_TRIGGER_HAPPY4 
HK_BTN_TRIGGER_HAPPY5 
HK_BTN_TRIGGER_HAPPY6 
HK_BTN_TRIGGER_HAPPY7 
HK_BTN_TRIGGER_HAPPY8 
HK_BTN_TRIGGER_HAPPY9 
HK_BTN_TRIGGER_HAPPY10 
HK_BTN_TRIGGER_HAPPY11 
HK_BTN_TRIGGER_HAPPY12 
HK_BTN_TRIGGER_HAPPY13 
HK_BTN_TRIGGER_HAPPY14 
HK_BTN_TRIGGER_HAPPY15 
HK_BTN_TRIGGER_HAPPY16 
HK_BTN_TRIGGER_HAPPY17 
HK_BTN_TRIGGER_HAPPY18 
HK_BTN_TRIGGER_HAPPY19 
HK_BTN_TRIGGER_HAPPY20 
HK_BTN_TRIGGER_HAPPY21 
HK_BTN_TRIGGER_HAPPY22 
HK_BTN_TRIGGER_HAPPY23 
HK_BTN_TRIGGER_HAPPY24 
HK_BTN_TRIGGER_HAPPY25 
HK_BTN_TRIGGER_HAPPY26 
HK_BTN_TRIGGER_HAPPY27 
HK_BTN_TRIGGER_HAPPY28 
HK_BTN_TRIGGER_HAPPY29 
HK_BTN_TRIGGER_HAPPY30 
HK_BTN_TRIGGER_HAPPY31 
HK_BTN_TRIGGER_HAPPY32 
HK_BTN_TRIGGER_HAPPY33 
HK_BTN_TRIGGER_HAPPY34 
HK_BTN_TRIGGER_HAPPY35 
HK_BTN_TRIGGER_HAPPY36 
HK_BTN_TRIGGER_HAPPY37 
HK_BTN_TRIGGER_HAPPY38 
HK_BTN_TRIGGER_HAPPY39 
HK_BTN_TRIGGER_HAPPY40 
HK_X_SCROLL_LEFT 

this is an extra definition not present in <linux/input.h>

HK_X_SCROLL_RIGHT 

this is an extra definition not present in <linux/input.h>