cisst-saw
Loading...
Searching...
No Matches
mtsKeyboard.h
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3
4/*
5 Author(s): Gorkem Sevinc, Anton Deguet
6 Created on: 2009-09-17
7
8 (C) Copyright 2009-2017 Johns Hopkins University (JHU), All Rights Reserved.
9
10--- begin cisst license - do not edit ---
11
12This software is provided "as is" under an open source license, with
13no warranty. The complete license can be found in license.txt and
14http://www.cisst.org/cisst/license.txt.
15
16--- end cisst license ---
17*/
18
19#ifndef _mtsKeyboard_h
20#define _mtsKeyboard_h
21
26#include <map>
27
28// Always include last
30
39 // declare services, requires dynamic creation
41 public:
42 inline mtsKeyboard(const std::string & componentName = "keyboard"):
43 mtsTaskContinuous(componentName, 256) {
44 Init();
45 }
46
49 Init();
50 }
51
52 void Configure(const std::string & filename = "");
53 inline void Startup(void) {
54 mGetCharEnvironment.Activate();
55 };
56 void Run(void);
57 inline void Cleanup(void) {
58 mGetCharEnvironment.DeActivate();
59 };
60
62
71 void AddKeyButtonEvent(char key, const std::string & interfaceName, bool toggle);
72
76 void AddKeyVoidEvent(char key, const std::string & interfaceName, const std::string & eventName);
77
81 void AddKeyVoidFunction(char key, const std::string & interfaceName, const std::string & commandName);
82
87 void AddKeyWriteFunction(char key, const std::string & interfaceName, const std::string & commandName, bool initialState);
88
89 // for backward compatibility
90 inline CISST_DEPRECATED void AddKeyWriteCommand(char key, const std::string & interfaceName, const std::string & commandName, bool initialState) {
91 AddKeyWriteFunction(key, interfaceName, commandName, initialState);
92 }
93
97 void SetQuitKey(char quitKey);
98
108
109 protected:
110
112 void Init(void);
113
114 typedef std::multimap<char, KeyData *> KeyDataType;
116
119
123};
124
125
127
128#endif // _mtsKeyboard_h
Definition cmnGetChar.h:38
Definition mtsFunctionVoid.h:36
Definition mtsFunctionWrite.h:37
Definition mtsInterfaceProvided.h:98
Definition mtsKeyboard.h:38
CMN_DECLARE_MEMBER_AND_ACCESSORS(bool, Done)
mtsFunctionWrite mKeyEvent
Definition mtsKeyboard.h:118
KeyDataType mKeyboardDataMap
Definition mtsKeyboard.h:115
std::multimap< char, KeyData * > KeyDataType
Definition mtsKeyboard.h:114
mtsKeyboard(const std::string &componentName="keyboard")
Definition mtsKeyboard.h:42
TriggerType
Definition mtsKeyboard.h:61
@ BUTTON_EVENT
Definition mtsKeyboard.h:61
@ VOID_FUNCTION
Definition mtsKeyboard.h:61
@ WRITE_FUNCTION
Definition mtsKeyboard.h:61
@ VOID_EVENT
Definition mtsKeyboard.h:61
void Cleanup(void)
Definition mtsKeyboard.h:57
void AddKeyWriteFunction(char key, const std::string &interfaceName, const std::string &commandName, bool initialState)
char mQuitKey
Definition mtsKeyboard.h:121
void Startup(void)
Definition mtsKeyboard.h:53
mtsInterfaceProvided * mInterface
Definition mtsKeyboard.h:117
void SetQuitKey(char quitKey)
CISST_DEPRECATED void AddKeyWriteCommand(char key, const std::string &interfaceName, const std::string &commandName, bool initialState)
Definition mtsKeyboard.h:90
void Init(void)
mtsKeyboard(const mtsTaskContinuousConstructorArg &arg)
Definition mtsKeyboard.h:47
cmnGetCharEnvironment mGetCharEnvironment
Definition mtsKeyboard.h:120
void AddKeyVoidFunction(char key, const std::string &interfaceName, const std::string &commandName)
void AddKeyVoidEvent(char key, const std::string &interfaceName, const std::string &eventName)
void Run(void)
void AddKeyButtonEvent(char key, const std::string &interfaceName, bool toggle)
void Configure(const std::string &filename="")
Definition mtsParameterTypes.h:1510
mtsTaskContinuous(const std::string &name, unsigned int sizeStateTable=256, bool newThread=true)
const int CMN_DYNAMIC_CREATION_ONEARG
Definition cmnClassRegisterMacros.h:330
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition cmnClassRegisterMacros.h:199
#define CISST_EXPORT
Definition cmnExportMacros.h:50
#define CMN_LOG_ALLOW_DEFAULT
Definition cmnLogLoD.h:76
#define CISST_DEPRECATED
Definition cmnPortability.h:314
Forward declarations and #define for cisstMultiTask.
Defines a continuously executing task.
Definition mtsKeyboard.h:101
mtsFunctionVoid VoidTrigger
Definition mtsKeyboard.h:105
mtsFunctionWrite WriteTrigger
Definition mtsKeyboard.h:104
bool State
Definition mtsKeyboard.h:103
bool Toggle
Definition mtsKeyboard.h:102
TriggerType Type
Definition mtsKeyboard.h:106