[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [31960] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: Partial fix (Linux) [#21395] Command key for keyboard mapping not functional
Nathan Letwory
nathan at letworyinteractive.com
Thu Sep 16 08:52:12 CEST 2010
Revision: 31960
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=31960
Author: jesterking
Date: 2010-09-16 08:52:12 +0200 (Thu, 16 Sep 2010)
Log Message:
-----------
Partial fix (Linux) [#21395] Command key for keyboard mapping not functional
Reported by Andy Braham
Handle XK_Super_L and XK_Super_R as the GHOST_kKeyCommand. Since Command key is
not discerned (yet) in left/right variants, read both and set accordingly.
This now completes fixes for [#21395]
Modified Paths:
--------------
trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2010-09-16 06:28:11 UTC (rev 31959)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp 2010-09-16 06:52:12 UTC (rev 31960)
@@ -851,6 +851,8 @@
const KeyCode control_r = XKeysymToKeycode(m_display,XK_Control_R);
const KeyCode alt_l = XKeysymToKeycode(m_display,XK_Alt_L);
const KeyCode alt_r = XKeysymToKeycode(m_display,XK_Alt_R);
+ const KeyCode super_l = XKeysymToKeycode(m_display,XK_Super_L);
+ const KeyCode super_r = XKeysymToKeycode(m_display,XK_Super_R);
// Shift
if ((m_keyboard_vector[shift_l >> 3] >> (shift_l & 7)) & 1) {
@@ -888,6 +890,15 @@
} else {
keys.set(GHOST_kModifierKeyRightAlt,false);
}
+
+ // Super (Windows) - only one GHOST-kModifierKeyCommand, so mapping
+ // to either
+ if ( ((m_keyboard_vector[super_l >> 3] >> (super_l & 7)) & 1) ||
+ ((m_keyboard_vector[super_r >> 3] >> (super_r & 7)) & 1) ) {
+ keys.set(GHOST_kModifierKeyCommand,true);
+ } else {
+ keys.set(GHOST_kModifierKeyCommand,false);
+ }
return GHOST_kSuccess;
}
@@ -1095,6 +1106,8 @@
GXMAP(type,XK_Control_R, GHOST_kKeyRightControl);
GXMAP(type,XK_Alt_L, GHOST_kKeyLeftAlt);
GXMAP(type,XK_Alt_R, GHOST_kKeyRightAlt);
+ GXMAP(type,XK_Super_L, GHOST_kKeyCommand);
+ GXMAP(type,XK_Super_R, GHOST_kKeyCommand);
GXMAP(type,XK_Insert, GHOST_kKeyInsert);
GXMAP(type,XK_Delete, GHOST_kKeyDelete);
More information about the Bf-blender-cvs
mailing list