2
* qkey.cpp - stuff for key-management - based on code of kkeynative.cpp, kkeyserver_x11.cpp and kshortcut.cpp of kdelibs/kdecore
5
* Copyright (c) 2004-2005 Tobias Doerffel <tobias@doerffel.de>
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public
9
* License as published by the Free Software Foundation; either
10
* version 2 of the License, or (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
17
* You should have received a copy of the GNU General Public
18
* License along with this program (see COPYING); if not, write to the
19
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20
* Boston, MA 02111-1307, USA.
29
#include <X11/Xutil.h>
33
QKey::QKey( const XEvent* pEvent )
35
m_mod = pEvent->xkey.state;
36
XLookupString( (XKeyEvent*) pEvent, 0, 0, (KeySym*) &m_sym, 0 );
47
unsigned int QKey::mod() const
54
unsigned int QKey::sym() const
66
} static g_rgModInfo[QKey::MOD_FLAG_COUNT] =
68
{ QKey::SHIFT, ShiftMask },
69
{ QKey::CTRL, ControlMask },
70
{ QKey::ALT, Mod1Mask },
71
{ QKey::WIN, Mod4Mask }
75
unsigned int QKey::modX( QKey::ModFlag modFlag )
77
for( unsigned int i = 0; i < QKey::MOD_FLAG_COUNT; i++ )
79
if( g_rgModInfo[i].mod == modFlag )
80
return( g_rgModInfo[i].modX );