// // Copyright (C) 1996 Ben Ross // // You may distribute under the terms of the GNU General Public // License as specified in the COPYING file. // // $Id: XeKeyTable.h,v 1.6 2001/07/29 21:34:00 ben Exp $ #ifndef _XeKeyTable_H_ #define _XeKeyTable_H_ #include #include typedef void (*KeyFunc)(void* aux); class XeKeyTable : public std::hash_map { public: XeKeyTable(int size = 64) : std::hash_map(size) {} void* lookup(KeySym key, uint& modifiers); int add(void* ob, KeySym key, uint modifiers); void remove(KeySym key, uint modifiers); }; // // PC Keyboard key modifier masks not explicity defined in X.h // #define XeNumLockMask Mod2Mask #define XeScrollLockMask Mod5Mask #endif