Skip to content
Simple Non-Intrusive Input System
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
SNIIS.h
SNIIS_C.cpp
SNIIS_C.h
SNIIS_Intern.cpp
SNIIS_Intern.h
SNIIS_Linux.cpp
SNIIS_Linux.h
SNIIS_Linux_Joystick.cpp
SNIIS_Linux_Keyboard.cpp
SNIIS_Linux_Mouse.cpp
SNIIS_Mac.cpp
SNIIS_Mac.h
SNIIS_Mac_Helper.m
SNIIS_Mac_Joystick.cpp
SNIIS_Mac_Keyboard.cpp
SNIIS_Mac_Mouse.cpp
SNIIS_Win.cpp
SNIIS_Win.h
SNIIS_Win_Joystick.cpp
SNIIS_Win_Keyboard.cpp
SNIIS_Win_Mouse.cpp
sniis.pro
sniis.vcxproj
sniis.vcxproj.filters
sniis_mac_helper.h

README.md

sniis

Simple Non-Intrusive Input System

What it does:

  • Queries inputs from Desktop controls such as keyboards, mice, controllers, joysticks
  • Supports multiple mice and keyboards (currently Windows only)
  • Supports event mapping to rebind controls optionally
  • Does NOT take over the main message loop of your game.
  • Minimal C++ build - just add a few files to your project / makefile, include a single file

Where does it come from:

Why does it look like it looks:

  • I required an Input system which does not do message handling itsself
  • I needed support for multiple mice/keyboards
  • I needed event remapping
  • I dislike RegisterAbstractFactoryAdaptorMutatorDelegateVisitor pattern misuse.
  • I dislike CMake, even though I concur it's a nasty solution to the ridiculous mess that is called C++ build system.

What you can do with it:

  • Whatever you want
  • But don't blame me if something went wrong
  • That's the actual license
  • Buy me a beverage and tell me about your project
  • That's an optional side quest
You can’t perform that action at this time.