stmm-input-doc  0.17.0
Public Member Functions | Static Public Member Functions | List of all members
stmi::GdkKeyConverterEvDev Class Referencefinal

Converts from evdev gdk keycode to hardware key (linux/input.h). More...

Inheritance diagram for stmi::GdkKeyConverterEvDev:
Inheritance graph
[legend]

Public Member Functions

bool convertKeyCodeToHardwareKey (guint16 nGdkKeycode, HARDWARE_KEY &eHardwareKey) const noexcept override
 Converts a Gdk keycode to a hardware key. More...
 
bool convertEventKeyToHardwareKey (GdkEventKey const *p0GdkEvent, HARDWARE_KEY &eHardwareKey) const noexcept override
 Converts a GdkEventKey to a hardware key. More...
 
- Public Member Functions inherited from stmi::GdkKeyConverter
virtual ~GdkKeyConverter () noexcept=default
 

Static Public Member Functions

static const shared_ptr< GdkKeyConverterEvDev > & getConverter () noexcept
 Returns the singleton evdev converter. More...
 
- Static Public Member Functions inherited from stmi::GdkKeyConverter
static const shared_ptr< GdkKeyConverter > & getConverter () noexcept
 Get the key converter instance (creating the default if not set). More...
 
static bool isConverterSet () noexcept
 Whether the singleton converter was already set. More...
 
static bool setConverter (const shared_ptr< GdkKeyConverter > &refConverter) noexcept
 Set the key converter instance. More...
 

Detailed Description

Converts from evdev gdk keycode to hardware key (linux/input.h).

Evdev formula: eHardwareKey = nGdkKeycode - 8.

Member Function Documentation

◆ convertEventKeyToHardwareKey()

bool stmi::GdkKeyConverterEvDev::convertEventKeyToHardwareKey ( GdkEventKey const *  p0GdkEvent,
HARDWARE_KEY eHardwareKey 
) const
overridevirtualnoexcept

Converts a GdkEventKey to a hardware key.

If the keycode isn't enough to determine the hardware key, the whole key event (if available) can be used.

Parameters
p0GdkEventThe event to convert. Cannot be null.
eHardwareKeyThe resulting hardware key.
Returns
Whether the conversion was successful.

Implements stmi::GdkKeyConverter.

◆ convertKeyCodeToHardwareKey()

bool stmi::GdkKeyConverterEvDev::convertKeyCodeToHardwareKey ( guint16  nGdkKeycode,
HARDWARE_KEY eHardwareKey 
) const
overridevirtualnoexcept

Converts a Gdk keycode to a hardware key.

Parameters
nGdkKeycodeThe Gdk keycode.
eHardwareKeyThe resulting hardware key.
Returns
Whether the conversion was successful.

Implements stmi::GdkKeyConverter.

◆ getConverter()

static const shared_ptr<GdkKeyConverterEvDev>& stmi::GdkKeyConverterEvDev::getConverter ( )
staticnoexcept

Returns the singleton evdev converter.

Returns
Singleton converter instance. Cannot be null.