Mir
Public Member Functions | Protected Member Functions | List of all members
mir::input::KeyMapper Class Referenceabstract

The key mapping interface KeyMapper allows configuring a key map for each device individually or a single key map shared by all devices. More...

#include <key_mapper.h>

Inheritance diagram for mir::input::KeyMapper:
[legend]

Public Member Functions

 KeyMapper ()=default
 
virtual ~KeyMapper ()=default
 
virtual void set_key_state (MirInputDeviceId id, std::vector< uint32_t > const &key_state)=0
 Update the key state of device id, with the given sequence of pressed scan codes. More...
 
virtual void set_keymap_for_device (MirInputDeviceId id, Keymap const &map)=0
 Set a keymap for the device id. More...
 
virtual void set_keymap_for_device (MirInputDeviceId id, char const *buffer, size_t len)=0
 Set a keymap for the device id. More...
 
virtual void clear_keymap_for_device (MirInputDeviceId id)=0
 Remove the specific keymap defined for device identified via the id. More...
 
virtual void set_keymap_for_all_devices (Keymap const &map)=0
 Set a default keymap for all devices. More...
 
virtual void set_keymap_for_all_devices (char const *buffer, size_t len)=0
 Set a default keymap for all devices. More...
 
virtual void clear_all_keymaps ()=0
 
virtual void map_event (MirEvent &event)=0
 Map the given event based on the key maps configured. More...
 
virtual MirInputEventModifiers modifiers () const =0
 

Protected Member Functions

 KeyMapper (KeyMapper const &)=delete
 
KeyMapperoperator= (KeyMapper const &)=delete
 

Detailed Description

The key mapping interface KeyMapper allows configuring a key map for each device individually or a single key map shared by all devices.

The key mapping tables can either be provided as xkbcommon text buffers in the XKB_KEYMAP_FORMAT_TEXT_V1 format, or as xkbcommon configuration tuples using the mir::input::Keymap structure.

Constructor & Destructor Documentation

mir::input::KeyMapper::KeyMapper ( )
default
virtual mir::input::KeyMapper::~KeyMapper ( )
virtualdefault
mir::input::KeyMapper::KeyMapper ( KeyMapper const &  )
protecteddelete

Member Function Documentation

virtual void mir::input::KeyMapper::clear_all_keymaps ( )
pure virtual
virtual void mir::input::KeyMapper::clear_keymap_for_device ( MirInputDeviceId  id)
pure virtual

Remove the specific keymap defined for device identified via the id.

After this call key codes in events processed for device id will not be evaluated.

Implemented in mir::input::receiver::XKBMapper.

virtual void mir::input::KeyMapper::map_event ( MirEvent event)
pure virtual

Map the given event based on the key maps configured.

This includes mapping scan codes in key events onto the respective key code, and also replacing modifier masks in input events with the modifier mask evaluated by this Keymapper.

Implemented in mir::input::receiver::XKBMapper.

virtual MirInputEventModifiers mir::input::KeyMapper::modifiers ( ) const
pure virtual
KeyMapper& mir::input::KeyMapper::operator= ( KeyMapper const &  )
protecteddelete
virtual void mir::input::KeyMapper::set_key_state ( MirInputDeviceId  id,
std::vector< uint32_t > const &  key_state 
)
pure virtual

Update the key state of device id, with the given sequence of pressed scan codes.

Implemented in mir::input::receiver::XKBMapper.

virtual void mir::input::KeyMapper::set_keymap_for_all_devices ( Keymap const &  map)
pure virtual

Set a default keymap for all devices.

Implemented in mir::input::receiver::XKBMapper.

virtual void mir::input::KeyMapper::set_keymap_for_all_devices ( char const *  buffer,
size_t  len 
)
pure virtual

Set a default keymap for all devices.

Implemented in mir::input::receiver::XKBMapper.

virtual void mir::input::KeyMapper::set_keymap_for_device ( MirInputDeviceId  id,
Keymap const &  map 
)
pure virtual

Set a keymap for the device id.

Implemented in mir::input::receiver::XKBMapper.

virtual void mir::input::KeyMapper::set_keymap_for_device ( MirInputDeviceId  id,
char const *  buffer,
size_t  len 
)
pure virtual

Set a keymap for the device id.

Implemented in mir::input::receiver::XKBMapper.


The documentation for this class was generated from the following file:

Copyright © 2012-2015 Canonical Ltd.
Generated on Thu Sep 8 14:50:19 UTC 2016