summaryrefslogtreecommitdiff
path: root/vcl/unx/source
diff options
context:
space:
mode:
authorStephan Schäfer <ssa@openoffice.org>2002-11-25 16:12:28 +0000
committerStephan Schäfer <ssa@openoffice.org>2002-11-25 16:12:28 +0000
commit3e5bc2d3121bc21a24d69807e5e5a940a0a07063 (patch)
tree2993a5d6aeb497c590577a07a2538d7a9f19c55e /vcl/unx/source
parente377bca1aeb088d62c2a5ed5e55f428ae1524b3e (diff)
#105224# support extended modifier keys
Diffstat (limited to 'vcl/unx/source')
-rw-r--r--vcl/unx/source/window/salframe.cxx19
1 files changed, 17 insertions, 2 deletions
diff --git a/vcl/unx/source/window/salframe.cxx b/vcl/unx/source/window/salframe.cxx
index 857625e921ee..a888c3831a52 100644
--- a/vcl/unx/source/window/salframe.cxx
+++ b/vcl/unx/source/window/salframe.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: salframe.cxx,v $
*
- * $Revision: 1.151 $
+ * $Revision: 1.152 $
*
- * last change: $Author: pl $ $Date: 2002-11-21 11:54:53 $
+ * last change: $Author: ssa $ $Date: 2002-11-25 17:12:28 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -2433,6 +2433,21 @@ long SalFrameData::HandleKeyEvent( XKeyEvent *pEvent )
nModCode |= KEY_MOD2;
}
+ // #105224# extended modkey event to distinguish right/left modifiers
+ aModEvt.mnModKeyCode = 0;
+ if ( nKeySym == XK_Control_L )
+ aModEvt.mnModKeyCode |= MODKEY_LMOD1;
+ if ( nKeySym == XK_Control_R )
+ aModEvt.mnModKeyCode |= MODKEY_RMOD1;
+ if ( nKeySym == XK_Alt_L )
+ aModEvt.mnModKeyCode |= MODKEY_LMOD2;
+ if ( nKeySym == XK_Alt_R )
+ aModEvt.mnModKeyCode |= MODKEY_RMOD2;
+ if ( nKeySym == XK_Shift_L )
+ aModEvt.mnModKeyCode |= MODKEY_LSHIFT;
+ if ( nKeySym == XK_Shift_R )
+ aModEvt.mnModKeyCode |= MODKEY_RSHIFT;
+
aModEvt.mnCode = nModCode;
aModEvt.mnTime = pEvent->time;