#include <map>
+#include <stdexcept>
#ifdef WIN32
#include <windows.h>
#else
#include <X11/X.h>
#include <X11/keysym.h>
#endif
-#include <msp/core/except.h>
#include "keys.h"
using namespace std;
#endif
};
-unsigned modmap[Msp::Input::N_MODS_]=
-{
-#ifndef WIN32
- ShiftMask, ControlMask, Mod1Mask, Mod4Mask
-#else
- 1, 2, 4, 8
-#endif
-};
-
}
namespace Msp {
unsigned key_from_sys(unsigned code)
{
- static bool init_done=false;
+ static bool init_done = false;
static map<unsigned, unsigned> reverse_map;
if(!init_done)
{
for(unsigned i=0; i<N_KEYS_; ++i)
if(keymap[i])
- reverse_map[keymap[i]]=i;
+ reverse_map[keymap[i]] = i;
- init_done=true;
+ init_done = true;
}
- map<unsigned, unsigned>::const_iterator i=reverse_map.find(code);
+ map<unsigned, unsigned>::const_iterator i = reverse_map.find(code);
if(i!=reverse_map.end())
return i->second;
unsigned key_to_sys(unsigned key)
{
if(key>=N_KEYS_)
- throw InvalidParameterValue("Key out of range");
+ throw invalid_argument("key_to_sys");
return keymap[key];
}
-unsigned mod_from_sys(unsigned mod)
-{
- unsigned result = 0;
- for(unsigned i=0; i<N_MODS_; ++i)
- if(mod&modmap[i])
- result|=1<<i;
- return result;
-}
-
} // namespace Input
} // namespace Msp