gem5
v20.1.0.0
dev
ps2
keyboard.hh
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2017-2018 ARM Limited
3
* All rights reserved
4
*
5
* The license below extends only to copyright in the software and shall
6
* not be construed as granting a license to any other intellectual
7
* property including but not limited to intellectual property relating
8
* to a hardware implementation of the functionality of the software
9
* licensed hereunder. You may use the software subject to the license
10
* terms below provided that you ensure that this notice is replicated
11
* unmodified and in its entirety in all distributions of the software,
12
* modified or unmodified, in source code or in binary form.
13
*
14
* Copyright (c) 2008 The Regents of The University of Michigan
15
* All rights reserved.
16
*
17
* Redistribution and use in source and binary forms, with or without
18
* modification, are permitted provided that the following conditions are
19
* met: redistributions of source code must retain the above copyright
20
* notice, this list of conditions and the following disclaimer;
21
* redistributions in binary form must reproduce the above copyright
22
* notice, this list of conditions and the following disclaimer in the
23
* documentation and/or other materials provided with the distribution;
24
* neither the name of the copyright holders nor the names of its
25
* contributors may be used to endorse or promote products derived from
26
* this software without specific prior written permission.
27
*
28
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
29
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
30
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
31
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
32
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
33
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
34
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
35
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
36
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
37
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
38
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39
*/
40
41
#ifndef __DEV_PS2_KEYBOARD_HH__
42
#define __DEV_PS2_KEYBOARD_HH__
43
44
#include "
base/vnc/vncinput.hh
"
45
#include "
dev/ps2/device.hh
"
46
47
struct
PS2KeyboardParams;
48
49
class
PS2Keyboard
:
public
PS2Device
,
VncKeyboard
50
{
51
protected
:
53
bool
shiftDown
;
54
56
bool
enabled
;
57
58
public
:
59
PS2Keyboard
(
const
PS2KeyboardParams *
p
);
60
61
void
serialize
(
CheckpointOut
&
cp
)
const override
;
62
void
unserialize
(
CheckpointIn
&
cp
)
override
;
63
64
protected
:
// PS2Device
65
bool
recv
(
const
std::vector<uint8_t>
&
data
)
override
;
66
67
public
:
// VncKeyboard
68
void
keyPress
(uint32_t key,
bool
down
)
override
;
69
};
70
71
#endif // __DEV_PS2_KEYBOARD_hH__
72
PS2Keyboard
Definition:
keyboard.hh:49
data
const char data[]
Definition:
circlebuf.test.cc:42
PS2Keyboard::PS2Keyboard
PS2Keyboard(const PS2KeyboardParams *p)
Definition:
keyboard.cc:49
vncinput.hh
std::vector< uint8_t >
PS2Keyboard::unserialize
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Definition:
keyboard.cc:67
PS2Device
Definition:
device.hh:51
cp
Definition:
cprintf.cc:40
VncKeyboard
A device that expects to receive input from the vnc server should derrive (through mulitple inheriten...
Definition:
vncinput.hh:59
PS2Keyboard::shiftDown
bool shiftDown
is the shift key currently down
Definition:
keyboard.hh:53
Ps2::down
bool down
Definition:
types.hh:123
device.hh
PS2Keyboard::serialize
void serialize(CheckpointOut &cp) const override
Serialize an object.
Definition:
keyboard.cc:59
PS2Keyboard::keyPress
void keyPress(uint32_t key, bool down) override
Called when the vnc server receives a key press event from the client.
Definition:
keyboard.cc:156
CheckpointOut
std::ostream CheckpointOut
Definition:
serialize.hh:63
MipsISA::p
Bitfield< 0 > p
Definition:
pra_constants.hh:323
PS2Keyboard::recv
bool recv(const std::vector< uint8_t > &data) override
Data received from host.
Definition:
keyboard.cc:75
CheckpointIn
Definition:
serialize.hh:67
PS2Keyboard::enabled
bool enabled
Is the device enabled?
Definition:
keyboard.hh:56
Generated on Wed Sep 30 2020 14:02:11 for gem5 by
doxygen
1.8.17