OMKKeyListener.h

Go to the documentation of this file.
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

logo OpenMask

Documentation generated on Mon Jun 9 11:45:56 2008

Generated with doxygen by Dimitri van Heesch ,   1997-2007