/usr/include/mirclient/mir_toolkit/mir_input_device.h is in libmirclient-dev 0.21.0+16.04.20160330-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 | /*
* Copyright © 2015-2016 Canonical Ltd.
*
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License version 3,
* as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef MIR_TOOLKIT_MIR_INPUT_DEVICE_H_
#define MIR_TOOLKIT_MIR_INPUT_DEVICE_H_
#include "mir_toolkit/client_types.h"
/**
* \addtogroup mir_toolkit
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif
typedef enum MirPointerHandedness
{
mir_pointer_handedness_right = 0,
mir_pointer_handedness_left = 1
} MirPointerHandedness;
/**
* MirPointerAcceleration describes the way pointer movement is filtered:
* - mir_pointer_acceleration_none: (acceleration bias + 1.0) is applied as
* a factor to the current velocity of the pointer. So a bias of 0 to results
* to no change of velocity.
* - mir_pointer_acceleration_adaptive: acceleration bias selects an
* acceleration function based on the current velocity that usually consists
* of two linear inclines separated by a plateau.
*/
typedef enum MirPointerAcceleration
{
mir_pointer_acceleration_none = 1,
mir_pointer_acceleration_adaptive = 2
} MirPointerAcceleration;
typedef enum MirTouchpadClickMode
{
mir_touchpad_click_mode_none = 0,
mir_touchpad_click_mode_area_to_click = 1 << 0,
mir_touchpad_click_mode_finger_count = 1 << 1
} MirTouchpadClickMode;
typedef unsigned int MirTouchpadClickModes;
typedef enum MirTouchpadScrollMode
{
mir_touchpad_scroll_mode_none = 0,
mir_touchpad_scroll_mode_two_finger_scroll = 1 << 0,
mir_touchpad_scroll_mode_edge_scroll = 1 << 1,
mir_touchpad_scroll_mode_button_down_scroll = 1 << 2
} MirTouchpadScrollMode;
typedef unsigned int MirTouchpadScrollModes;
enum MirInputDeviceCapability
{
mir_input_device_capability_none = 0,
mir_input_device_capability_pointer = 1<<1,
mir_input_device_capability_keyboard = 1<<2,
mir_input_device_capability_touchpad = 1<<3,
mir_input_device_capability_touchscreen = 1<<4,
mir_input_device_capability_gamepad = 1<<5,
mir_input_device_capability_joystick = 1<<6,
mir_input_device_capability_switch = 1<<7,
mir_input_device_capability_multitouch = 1<<8, //! capable to detect multiple contacts
mir_input_device_capability_alpha_numeric = 1<<9 //! offers enough keys for text entry
};
typedef unsigned int MirInputDeviceCapabilities;
/**
* Retrieve the number of available input devices.
*
* \param [in] config The input configuration snapshot
*
* \return Number of input devices
*/
size_t mir_input_config_device_count(MirInputConfig const* config);
/**
* Retrieve the input device at given \a index.
*
* The pointer returned stays valid until mir_input_config_destroy
* is called with \a config.
*
* \param [in] config The input configuration snapshot
* \param [in] index The index of the input device to return.
* \return input device
*/
MirInputDevice const* mir_input_config_get_device(
MirInputConfig const* config,
size_t index);
/**
* Retrieve the input device by \a id.
*
* The MirInputDevice returned stays valid until mir_input_config_destroy
* is called with \a config. If no device with the given \a id is found
* NULL will be returned.
*
* \param [in] config The input configuration snapshot
* \param [in] id The input device id to search for
*
* \return input device
*/
MirInputDevice const* mir_input_config_get_device_by_id(
MirInputConfig const* config,
MirInputDeviceId id);
/**
* Retrieve the input device at given \a index.
*
* The pointer returned stays valid until mir_input_config_destroy
* is called with \a config.
*
* \param [in] config The input configuration snapshot
* \param [in] index The index of the input device to return.
* \return input device
*/
MirInputDevice* mir_input_config_get_mutable_device(
MirInputConfig* config,
size_t index);
/**
* Retrieve the input device by \a id.
*
* The MirInputDevice returned stays valid until mir_input_config_destroy
* is called with \a config. If no device with the given \a id is found
* NULL will be returned.
*
* \param [in] config The input configuration snapshot
* \param [in] id The input device id to search for
*
* \return input device
*/
MirInputDevice* mir_input_config_get_mutable_device_by_id(
MirInputConfig* config,
MirInputDeviceId id);
/**
* Retrieve the capabilities of the input device at the given index.
*
* \param [in] device The input device
*
* \return The capability flags of the input device
*/
MirInputDeviceCapabilities mir_input_device_get_capabilities(
MirInputDevice const* device);
/**
* Retrieve the device id of the input device.
* The device id is a unique integer value, only valid while the device is
* attached. The device id matches the device id attached every input event.
*
* \param [in] device The input device
*
* \return The device id of the input device
*/
MirInputDeviceId mir_input_device_get_id(MirInputDevice const* device);
/**
* Retrieve the name of the input device.
* The string pointed to will be valid as long as MirInputDevice is valid.
* The name may be empty but never NULL.
*
* \param [in] device The input device
*
* \return The name of the input device
*/
char const* mir_input_device_get_name(MirInputDevice const* device);
/**
* Retrieve the unique id of the input device.
* The string pointed to will be valid as long as \a device is valid.
* The value of the unique id of a given device should be valid across mir
* connections session and servers of the same version.
*
* \param [in] device The input device
*
* \return The unique id of the input device
*/
char const* mir_input_device_get_unique_id(MirInputDevice const* device);
#ifdef __cplusplus
}
#endif
#endif
|