/** * @file key.h * @author Joe Wingbermuehle * @date 2004-2006 * * @brief Header for the key binding functions. * */ #ifndef KEY_H #define KEY_H struct ClientNode; typedef enum { KEY_NONE = 0, KEY_UP = 1, KEY_DOWN = 2, KEY_RIGHT = 3, KEY_LEFT = 4, KEY_ESC = 5, KEY_ENTER = 6, KEY_NEXT = 7, KEY_NEXT_STACKED = 8, KEY_PREV = 9, KEY_PREV_STACKED = 10, KEY_CLOSE = 11, KEY_MIN = 12, KEY_MAX = 13, KEY_SHADE = 14, KEY_MOVE = 15, KEY_RESIZE = 16, KEY_ROOT = 17, KEY_WIN = 18, KEY_DESKTOP = 19, KEY_EXEC = 20, KEY_RESTART = 21, KEY_EXIT = 22 } KeyType; void InitializeKeys(); void StartupKeys(); void ShutdownKeys(); void DestroyKeys(); KeyType GetKey(const XKeyEvent *event); void GrabKeys(struct ClientNode *np); void InsertBinding(KeyType key, const char *modifiers, const char *stroke, const char *code, const char *command); void RunKeyCommand(const XKeyEvent *event); void ShowKeyMenu(const XKeyEvent *event); void ValidateKeys(); #endif