A cross-platform library that supports many different human interface devices, in three basic device categories:
- keyboards
- mice
- joysticks
It is an open source library, so you can make changes and alterations as you see them to fit. The creator and maintainer is pjcast.
OIS is used in OGRE since version 1.4 (Eihort).
Note: The download seems to be rather old, it's probably a good idea to grab it directly from cvs:
cvs -d:pserver:anonymous@wgois.cvs.sourceforge.net:/cvsroot/wgois login
cvs -z3 -d:pserver:anonymous@wgois.cvs.sourceforge.net:/cvsroot/wgois co -P ois
Paramlist:
If you are wondering about the string parameters that go into the paramlist when calling inputManager->createInputSystem(paramlist), here's how to find out about them:
- Download the OIS Source (eg from https://sourceforge.net/projects/wgois/)
- Recommended: Have a look at createInputSystem in OISInputManager.cpp, you will see that a derived InputManager object is created depending on your system.
- Look at the derived Input manager class in the specific folder; eg. for windows, look at win32/Win32InputManager.cpp
- Look at the methods _initialize and _parseConfigSettings, and all will be made clear 😊
See Also
- Using OIS
- Simple keyboard string editing snippet (a small class to take key presses and edit a string)
- MOIS (using OIS with Mogre)
- MadMarx Tutorial 10 - Input Using OIS
External Links
- SourceForge project page
- OIS API created with doxygen
- OIS User Forum
- OIS Development Forum
- Input handling by WinAPI as alternative to OIS (a little bit more efficient; needed for multiple mice or keyboards)
- ICS library a more abstract input control system based on OIS (it is based on controls and channels; it can read/save XML configuration files; it includes automatic key/mouse/joystick binding)
- OISB - input library, which wraps OIS and provides means to make action binding/mapping