00001 /************************************************************************/ 00002 /* This file is part of openMask(c) INRIA, CNRS, Universite de Rennes 1 */ 00003 /* 1993-2002, thereinafter the Software */ 00004 /* */ 00005 /* The Software has been developped within the Siames Project. */ 00006 /* INRIA, the University of Rennes 1 and CNRS jointly hold intellectual */ 00007 /* property rights */ 00008 /* */ 00009 /* The Software has been registered with the Agence pour la Protection */ 00010 /* des Programmes (APP) under registration number */ 00011 /* IDDN.FR.001.510008.00.S.P.2001.000.41200 */ 00012 /* */ 00013 /* This file may be distributed under the terms of the Q Public License */ 00014 /* version 1.0 as defined by Trolltech AS of Norway and appearing in */ 00015 /* the file LICENSE.QPL included in the packaging of this file. */ 00016 /* */ 00017 /* Licensees holding valid specific licenses issued by INRIA, CNRS or */ 00018 /* Universite Rennes 1 for the software may use this file in */ 00019 /* acordance with that specific license */ 00020 /************************************************************************/ 00021 #ifndef OMK_INP_KEYLISTENER_H 00022 #define OMK_INP_KEYLISTENER_H 00023 00024 #include "OMKInputListener.h" 00025 #include "OMKEventIdentifier.h" 00026 namespace OMK 00027 { 00028 namespace Inp 00029 { 00030 00044 class OMKINPUTS_API KeyListener: 00045 public OMK::Inp::InputListener, 00046 public OIS::KeyListener 00047 { 00049 friend class InputExtension ; 00052 KeyListener( ExtensibleSimulatedObject* sender, 00053 const std::string& code, 00054 const ConfigurationParameterDescriptor * node ) ; 00055 public: 00059 static const EventIdentifier getKeyPressCode( const std::string& code ) ; 00063 static const EventIdentifier getKeyReleaseCode( const std::string& code ) ; 00065 virtual ~KeyListener(); 00066 private : 00068 virtual bool keyPressed( const OIS::KeyEvent &e ) { return sendKeyEvent( e.key, true ) ; } 00070 virtual bool keyReleased( const OIS::KeyEvent &e ) { return sendKeyEvent( e.key, false ) ; } 00073 bool sendKeyEvent( OIS::KeyCode key, bool pressed ) ; 00075 void addListeningObject( const Name& object ) ; 00077 std::vector< Name > _listeningObjects ; 00079 OIS::KeyCode _code ; 00081 const EventIdentifier _keyPressedCode ; 00083 const EventIdentifier _keyReleasedCode ; 00084 }; 00085 } // namespace Inp 00086 } // namespace OMK 00087 00088 #endif // OMK_INP_KEYLISTENER_H
Documentation generated on Mon Jun 9 11:45:56 2008 |
Generated with doxygen by Dimitri van Heesch , 1997-2007 |