Mir
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
include
server
mir
input
device.h
Go to the documentation of this file.
1
/*
2
* Copyright © 2015 Canonical Ltd.
3
*
4
* This program is free software: you can redistribute it and/or modify it
5
* under the terms of the GNU General Public License version 3,
6
* as published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by:
17
* Andreas Pokorny <andreas.pokorny@canonical.com>
18
*/
19
20
#ifndef MIR_INPUT_DEVICE_H_
21
#define MIR_INPUT_DEVICE_H_
22
23
#include "
mir/input/device_capability.h
"
24
#include "
mir_toolkit/event.h
"
25
#include "
mir/optional_value.h
"
26
27
#include <memory>
28
29
class
MirPointerConfig
;
30
class
MirTouchpadConfig
;
31
class
MirKeyboardConfig
;
32
33
namespace
mir
34
{
35
namespace
input
36
{
37
38
class
Device
39
{
40
public
:
41
Device
() =
default
;
42
virtual
~Device
() =
default
;
43
virtual
MirInputDeviceId
id
()
const
= 0;
44
virtual
DeviceCapabilities
capabilities
()
const
= 0;
45
virtual
std::string
name
()
const
= 0;
46
virtual
std::string
unique_id
()
const
= 0;
47
48
virtual
mir::optional_value<MirPointerConfig>
pointer_configuration
()
const
= 0;
49
virtual
void
apply_pointer_configuration
(
MirPointerConfig
const
&) = 0;
50
51
virtual
mir::optional_value<MirTouchpadConfig>
touchpad_configuration
()
const
= 0;
52
virtual
void
gamepad
= 1<<5,