typedef std::vector<ScreenInfo> ScreenInfoList;
private:
- //! Does the display have the Shape extention?
+ //! Does the display have the XKB extension?
+ static bool _xkb;
+ //! Base for events for the XKB extension
+ static int _xkb_event_basep;
+
+ //! Does the display have the Shape extension?
static bool _shape;
- //! Base for events for the Shape extention
+ //! Base for events for the Shape extension
static int _shape_event_basep;
- //! Does the display have the Xinerama extention?
+ //! Does the display have the Xinerama extension?
static bool _xinerama;
- //! Base for events for the Xinerama extention
+ //! Base for events for the Xinerama extension
static int _xinerama_event_basep;
//! A list of all possible combinations of keyboard lock masks
static unsigned int _mask_list[8];
+ //! The value of the mask for the NumLock modifier
+ static unsigned int _numLockMask;
+
+ //! The value of the mask for the ScrollLock modifier
+ static unsigned int _scrollLockMask;
+
//! The number of requested grabs on the display
static int _grab_count;
*/
static const ScreenInfo* screenInfo(int snum);
- //! Returns if the display has the shape extention available
+ //! Find a ScreenInfo based on a root window
+ static const ScreenInfo* findScreen(Window root);
+
+ //! Returns if the display has the xkb extension available
+ inline static bool xkb() { return _xkb; }
+ //! Returns the xkb extension's event base
+ inline static int xkbEventBase() { return _xkb_event_basep; }
+
+ //! Returns if the display has the shape extension available
inline static bool shape() { return _shape; }
//! Returns the shape extension's event base
inline static int shapeEventBase() { return _shape_event_basep; }
- //! Returns if the display has the xinerama extention available
+ //! Returns if the display has the xinerama extension available
inline static bool xinerama() { return _xinerama; }
+ inline static unsigned int numLockMask() { return _numLockMask; }
+ inline static unsigned int scrollLockMask() { return _scrollLockMask; }
+
//! Grabs the display
static void grab();
static void grabKey(unsigned int keycode, unsigned int modifiers,
Window grab_window, bool owner_events,
int pointer_mode, int keyboard_mode, bool allow_scroll_lock);
- static void ungrabKey(unsigned int button, unsigned int modifiers,
+ static void ungrabKey(unsigned int keycode, unsigned int modifiers,
Window grab_window);
};