summaryrefslogtreecommitdiff
path: root/vcl/unx/gtk/window/gtkframe.cxx
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2005-11-01 12:00:08 +0000
committerKurt Zenker <kz@openoffice.org>2005-11-01 12:00:08 +0000
commitb6932cfda6865bba22af86e2e207d4f5e0f268e9 (patch)
treeaeba28c29aae7cb91328df66114b228b7b34dd5f /vcl/unx/gtk/window/gtkframe.cxx
parent25cc4d937f994a510eead4eb7b77e4166c8c3c0c (diff)
INTEGRATION: CWS vcl43 (1.33.10); FILE MERGED
2005/08/25 09:30:15 pl 1.33.10.1: #125308# support extra keys on sun keyboard
Diffstat (limited to 'vcl/unx/gtk/window/gtkframe.cxx')
-rw-r--r--vcl/unx/gtk/window/gtkframe.cxx31
1 files changed, 28 insertions, 3 deletions
diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx
index 5a9623f20327..0d310f63d101 100644
--- a/vcl/unx/gtk/window/gtkframe.cxx
+++ b/vcl/unx/gtk/window/gtkframe.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: gtkframe.cxx,v $
*
- * $Revision: 1.37 $
+ * $Revision: 1.38 $
*
- * last change: $Author: kz $ $Date: 2005-11-01 10:35:45 $
+ * last change: $Author: kz $ $Date: 2005-11-01 13:00:08 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -107,7 +107,32 @@ static USHORT GetKeyCode( guint keyval )
else if( keyval >= GDK_a && keyval <= GDK_z )
nCode = KEY_A + (keyval-GDK_a );
else if( keyval >= GDK_F1 && keyval <= GDK_F26 )
- nCode = KEY_F1 + (keyval-GDK_F1);
+ {
+ if( GetSalData()->GetDisplay()->IsNumLockFromXS() )
+ {
+ nCode = KEY_F1 + (keyval-GDK_F1);
+ }
+ else
+ {
+ switch( keyval )
+ {
+ // - - - - - Sun keyboard, see vcl/unx/source/app/saldisp.cxx
+ case GDK_L2:
+ if( GetSalData()->GetDisplay()->GetServerVendor() == vendor_sun )
+ nCode = KEY_REPEAT;
+ else
+ nCode = KEY_F12;
+ break;
+ case GDK_L3: nCode = KEY_PROPERTIES; break;
+ case GDK_L4: nCode = KEY_UNDO; break;
+ case GDK_L6: nCode = KEY_COPY; break; // KEY_F16
+ case GDK_L8: nCode = KEY_PASTE; break; // KEY_F18
+ case GDK_L10: nCode = KEY_CUT; break; // KEY_F20
+ default:
+ nCode = KEY_F1 + (keyval-GDK_F1); break;
+ }
+ }
+ }
else
{
switch( keyval )