ScummVM API documentation
Keyboard.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22/*
23 * Copyright (C) 2006-2010 - Frictional Games
24 *
25 * This file is part of HPL1 Engine.
26 */
27
28#ifndef HPL_KEYBOARD_H
29#define HPL_KEYBOARD_H
30
31#include "common/bitarray.h"
32#include "common/keyboard.h"
33#include "common/queue.h"
34#include "hpl1/engine/input/InputDevice.h"
35#include "hpl1/engine/input/InputTypes.h"
36
37namespace Common {
38struct Event;
39}
40
41namespace hpl {
42
43class LowLevelInput;
44
45class Keyboard : public iInputDevice {
46public:
48
54 bool KeyIsDown(Common::KeyCode aKey);
74 tString KeyToString(Common::KeyCode eKey);
80 Common::KeyCode StringToKey(tString);
81
82 void Update();
83
84private:
85 void processEvent(const Common::Event &ev);
86
87 int _modifiers;
88 Common::BitArray _downKeys;
90 LowLevelInput *_lowLevelSystem;
91};
92
93} // namespace hpl
94
95#endif // HPL_KEYBOARD_H
Definition: bitarray.h:29
Definition: str.h:59
Definition: Keyboard.h:45
Common::KeyCode StringToKey(tString)
bool KeyIsDown(Common::KeyCode aKey)
tString KeyToString(Common::KeyCode eKey)
bool KeyIsPressed()
Common::KeyState GetKey()
Definition: LowLevelInput.h:40
Definition: InputDevice.h:36
Definition: algorithm.h:29
Definition: events.h:218
Definition: keyboard.h:294