diff options
Diffstat (limited to 'src/Input.hh')
| -rw-r--r-- | src/Input.hh | 161 |
1 files changed, 0 insertions, 161 deletions
diff --git a/src/Input.hh b/src/Input.hh deleted file mode 100644 index e354b230..00000000 --- a/src/Input.hh +++ /dev/null @@ -1,161 +0,0 @@ -// -*- mode: C++; indent-tabs-mode: nil; -*- -// Input.hh for Blackbox - an X11 Window manager -// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry <shaleh@debian.org> -// Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef __Input_hh -#define __Input_hh - -extern "C" { -#include <X11/Xlib.h> -#include <X11/Xutil.h> -} - -#include <list> - -class Blackbox; -class BlackboxWindow; - -class BInput { -public: - enum MouseEvent { - InvalidEvent = -1, - - IconifyButtonClick, - MaximizeButtonClick, - CloseButtonClick, - - WindowFramePress, - WindowTitlePress, - WindowTitleDoublePress, - WindowClientPress, - RootWindowPress, - - WindowDrag, - WindowTitleDrag, - WindowHandleDrag, - WindowLeftGripDrag, - WindowRightGripDrag, - - NUM_MOUSEEVENTS - }; - - enum Action { - NoAction = 0, - Raise, - Lower, - Shade, - Unshade, - Stick, - Unstick, - Focus, - Iconify, - Close, - ShowWindowMenu, - NextWorkspace, - PrevWorkspace, - - BeginMove, - BeginResizeUL, - BeginResizeUR, - BeginResizeLL, - BeginResizeLR, - BeginResizeRelative, // picks a corner based on the mouse cursor's position - - ToggleMaximizeVert, - ToggleMaximizeHoriz, - ToggleMaximize, - ToggleShade, - ToggleStick, - - NUM_ACTIONS - }; - - struct KeyBinding { - unsigned int button; - unsigned int state; - - // for keyboard events, this is applied to the focused window. - // for mouse events, this is applied to the window that was clicked on. - Action action; - - KeyBinding(unsigned int button, unsigned int state, Action action) { - assert(button > 0); - assert(action >= 0 && action < NUM_ACTIONS); - this->button = button; - this->state = state; - this->action = action; - } - }; - - struct MouseBinding : public KeyBinding { - MouseEvent event; - - MouseBinding(unsigned int button, unsigned int state, MouseEvent event, - Action action) : KeyBinding(button, state, action) { - assert(event >= 0 && event < NUM_MOUSEEVENTS); - this->event = event; - } - }; - - typedef std::list<MouseBinding> MouseBindingList; - typedef std::list<KeyBinding> KeyBindingList; - -private: - Blackbox *_blackbox; - Display *_display; - - MouseBindingList _mousebind; - KeyBindingList _keybind; - - void doAction(BlackboxWindow *window, Action action) const; - -public: - BInput(Blackbox *b); - virtual ~BInput(); - - void add(unsigned int button, unsigned int state, MouseEvent event, - Action action); - void remove(unsigned int button, unsigned int state, MouseEvent event, - Action action); - void add(unsigned int button, unsigned int state, Action action); - void remove(unsigned int button, unsigned int state, Action action); - - // execute a keyboard binding - // returns false if the specified binding doesnt exist - bool doAction(BlackboxWindow *window, unsigned int keycode, - unsigned int state) const; - // execute a mouse binding - // returns false if the specified binding doesnt exist - bool doAction(BlackboxWindow *window, unsigned int keycode, - unsigned int state, MouseEvent eventtype) const; - - // determine if a keyboard binding exists - bool hasAction(unsigned int keycode, unsigned int state) const; - // determine if a mouse binding exists - bool hasAction(unsigned int button, unsigned int state, - MouseEvent eventtype) const; - - const MouseBindingList &getMouseBindings(void) { return _mousebind; } - const KeyBindingList &getKeyBindings(void) { return _keybind; } -}; - -#endif // __Input_hh |
