这是网上下的一个代码;
先看一下代码;
KeyboardHandler.h;
#ifndef KEYBOARD_HANDLER_H
#define KEYBOARD_HANDLER_H
#include <iostream>
#include <osgGA/GUIEventHandler>
class keyboardEventHandler : public osgGA::GUIEventHandler
{
public:
typedef void (*functionType) ();
enum keyStatusType
{
KEY_UP, KEY_DOWN
};
struct functionStatusType
{
functionStatusType() {keyState = KEY_UP; keyFunction = NULL;}
functionType keyFunction;
keyStatusType keyState;
};
bool addFunction(int whatKey, functionType newFunction);
bool addFunction(int whatKey, keyStatusType keyPressStatus, functionType newFunction);
virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&);
//virtual void accept(osgGA::GUIEventHandlerVisitor& v) { v.visit(*this); };
protected:
typedef std::map<int, functionStatusType > keyFunctionMap;
keyFunctio