diff -Nurd -x'*~' lyx-1.6.7-orig/src/LyXRC.cpp lyx-1.6.7/src/LyXRC.cpp --- lyx-1.6.7-orig/src/LyXRC.cpp 2010-05-30 09:29:11.000000000 -0700 +++ lyx-1.6.7/src/LyXRC.cpp 2010-09-06 14:35:24.000000000 -0700 @@ -115,6 +115,7 @@ { "\\language_package", LyXRC::RC_LANGUAGE_PACKAGE }, { "\\language_use_babel", LyXRC::RC_LANGUAGE_USE_BABEL }, { "\\load_session", LyXRC::RC_LOADSESSION }, + { "\\mac_dontswap_ctrl_meta", LyXRC::RC_MAC_DONTSWAP_CTRL_META }, { "\\mac_like_word_movement", LyXRC::RC_MAC_LIKE_WORD_MOVEMENT }, { "\\macro_edit_style", LyXRC::RC_MACRO_EDIT_STYLE }, { "\\make_backup", LyXRC::RC_MAKE_BACKUP }, @@ -205,6 +206,7 @@ void LyXRC::setDefaults() { + mac_dontswap_ctrl_meta = false; bind_file = "cua"; def_file = "default"; ui_file = "default"; @@ -831,6 +833,10 @@ lexrc >> paragraph_markers; break; + case RC_MAC_DONTSWAP_CTRL_META: + lexrc >> mac_dontswap_ctrl_meta; + break; + case RC_MAC_LIKE_WORD_MOVEMENT: lexrc >> mac_like_word_movement; break; @@ -1571,6 +1577,15 @@ } if (tag != RC_LAST) break; + case RC_MAC_DONTSWAP_CTRL_META: + if (ignore_system_lyxrc || + mac_dontswap_ctrl_meta + != system_lyxrc.mac_dontswap_ctrl_meta) { + os << "\\mac_dontswap_ctrl_meta " + << convert<string>(mac_dontswap_ctrl_meta) << '\n'; + } + if (tag != RC_LAST) + break; case RC_MAC_LIKE_WORD_MOVEMENT: if (ignore_system_lyxrc || mac_like_word_movement @@ -2579,6 +2594,10 @@ str = _("LyX normally doesn't update the cursor position if you move the scrollbar. Set to true if you'd prefer to always have the cursor on screen."); break; + case RC_MAC_DONTSWAP_CTRL_META: + str = _("Make Apple key act as Meta and Control key as Ctrl."); + break; + case RC_MAC_LIKE_WORD_MOVEMENT: str = _("Use the Mac OS X conventions for the word-level cursor movement"); break; diff -Nurd -x'*~' lyx-1.6.7-orig/src/LyXRC.h lyx-1.6.7/src/LyXRC.h --- lyx-1.6.7-orig/src/LyXRC.h 2010-05-30 09:29:11.000000000 -0700 +++ lyx-1.6.7/src/LyXRC.h 2010-09-06 14:35:24.000000000 -0700 @@ -62,6 +62,7 @@ RC_CONVERTER_CACHE_MAXAGE, RC_COPIER, RC_CURSOR_FOLLOWS_SCROLLBAR, + RC_MAC_DONTSWAP_CTRL_META, RC_MAC_LIKE_WORD_MOVEMENT, RC_CUSTOM_EXPORT_COMMAND, RC_CUSTOM_EXPORT_FORMAT, @@ -380,6 +381,8 @@ /// std::string gui_language; /// + bool mac_dontswap_ctrl_meta; + /// bool mac_like_word_movement; /// bool cursor_follows_scrollbar; Binary files lyx-1.6.7-orig/src/frontends/qt4/.DS_Store and lyx-1.6.7/src/frontends/qt4/.DS_Store differ diff -Nurd -x'*~' lyx-1.6.7-orig/src/frontends/qt4/GuiApplication.cpp lyx-1.6.7/src/frontends/qt4/GuiApplication.cpp --- lyx-1.6.7-orig/src/frontends/qt4/GuiApplication.cpp 2010-01-23 01:56:39.000000000 -0800 +++ lyx-1.6.7/src/frontends/qt4/GuiApplication.cpp 2010-09-06 14:35:24.000000000 -0700 @@ -1146,6 +1146,9 @@ return; #ifdef Q_WS_MACX +#if QT_VERSION > 0x040600 + setAttribute(Qt::AA_MacDontSwapCtrlAndMeta,lyxrc.mac_dontswap_ctrl_meta); +#endif // Create the global default menubar which is shown for the dialogs // and if no GuiView is visible. // This must be done after the session was recovered to know the "last files". diff -Nurd -x'*~' lyx-1.6.7-orig/src/frontends/qt4/GuiPrefs.cpp lyx-1.6.7/src/frontends/qt4/GuiPrefs.cpp --- lyx-1.6.7-orig/src/frontends/qt4/GuiPrefs.cpp 2010-05-30 09:29:11.000000000 -0700 +++ lyx-1.6.7/src/frontends/qt4/GuiPrefs.cpp 2010-09-06 14:35:24.000000000 -0700 @@ -468,6 +468,12 @@ this, SIGNAL(changed())); connect(mouseWheelSpeedSB, SIGNAL(valueChanged(double)), this, SIGNAL(changed())); +#ifdef Q_WS_MACX +#if QT_VERSION > 0x040600 + connect(dontswapCB, SIGNAL(toggled(bool)), + this, SIGNAL(changed())); +#endif +#endif } @@ -478,6 +484,11 @@ rc.primary_kbmap = internal_path(fromqstr(firstKeymapED->text())); rc.secondary_kbmap = internal_path(fromqstr(secondKeymapED->text())); rc.mouse_wheel_speed = mouseWheelSpeedSB->value(); +#ifdef Q_WS_MACX +#if QT_VERSION > 0x040600 + rc.mac_dontswap_ctrl_meta = dontswapCB->isChecked(); +#endif +#endif } @@ -488,6 +499,11 @@ firstKeymapED->setText(toqstr(external_path(rc.primary_kbmap))); secondKeymapED->setText(toqstr(external_path(rc.secondary_kbmap))); mouseWheelSpeedSB->setValue(rc.mouse_wheel_speed); +#ifdef Q_WS_MACX +#if QT_VERSION > 0x040600 + dontswapCB->setChecked(rc.mac_dontswap_ctrl_meta); +#endif +#endif } diff -Nurd -x'*~' lyx-1.6.7-orig/src/frontends/qt4/ui/PrefInputUi.ui lyx-1.6.7/src/frontends/qt4/ui/PrefInputUi.ui --- lyx-1.6.7-orig/src/frontends/qt4/ui/PrefInputUi.ui 2009-04-01 14:25:06.000000000 -0700 +++ lyx-1.6.7/src/frontends/qt4/ui/PrefInputUi.ui 2010-09-06 14:35:25.000000000 -0700 @@ -113,6 +113,16 @@ </property> </widget> </item> + <item row="3" column="0" colspan="3" > + <widget class="QCheckBox" name="dontswapCB" > + <property name="text" > + <string>Do not swap Meta and Control keys</string> + </property> + <property name="checked" > + <bool>false</bool> + </property> + </widget> + </item> </layout> </widget> </item>