This directory contains binaries for LyX with the Qt interface on Mac OS X. The difference to the official binaries is that I modified the modifier key bindings.
Since I don't update my versions of Qt and LyX very regularly, you may be better off looking for the latest version on the LyX wiki where a slightly different build procedure is used.
The user interface, including the modifier key functionality, is provided by Trolltech's QT libraries. Of course, you can customize the keyboard shortcuts in the user interface, and even customize other interface aspects such as the toolbars (these pages aren't quite up-to-date with version 1.6), but one thing that's hard-wired is that the CONTROL and COMMAND keys are switched; you have to use the COMMAND (Apple) key to do things such as emacs' C-k (kill to end of line) etc. The rationale for this is that Apple's conventional modifier key for copy and paste is COMMAND. But for people who also use emacs, this switch is inconvenient.
For my binaries, I have un-done the Apple-specific switch of the COMMAND and CONTROL keys. See below for details. Use one of these binaries if you want the CONTROL key on the Mac keyboard to correspond to the LyX "C" modifier. This is recommentded for users who can memorize key bindings, not for those who rely on the shortcuts in the GUI menus. In the LyX menu, my binaries unfortunately continue to display switched modifiers as for shortcuts. I.e., when a menu shows "⌘" it now refers to the "Ctrl" key.
The zip files linked here contain only the app bundle, not the installer. To use these binaries, you therefore should first download and install the official version, then replace LyX.app with mine, making sure the version number matches.
qt-4.3.4 on Intel OS 10.4, also works on OS 10.5
~/Library/Application Support/LyX-1.6/bind
I replaced "break-line" by "newline-insert" - the command has changed.
Shift-left-arrow and Shift-right-arrow no longer work to select text, go to
LyX Preferences > Editing > Shortcuts
and search for char-forward-select in the list of commands. You will see that the shortcut entry is empty. Just add the key combination Shift + right arrow in that field. Do the same for char-backward-select.
Ctrl-L no longer re-centers the screen as it does in emacs. I reported this as a bug (5526) because there's actually a change in the function's action (as opposed to a mere renaming).
qt-4.3.4 on Intel OS 10.4, also works on OS 10.5
Please let me know if these binaries work for you or not.
I prefer turning off instant preview of math equations in the Preferences. This is my preferred setting because it makes math insets stand out more clearly in the text, and it speeds up the editor.
Despite the seeming simplicity of LyX, I'd suggest that you learn LaTeX before starting to use LyX seriously. To do that, check out my LaTeX Page.
If you find bugs that the users and developers lists don't know about:
cd qt-mac-opensource-src-4.3.3 patch -p0 < qt4modifier.patchThen follow the installation instructions in the lyx directory. The patch un-does the switch
controlKey ↔ cmdKey that is contained in qkeymapper_mac.cpp:
--- ./src/gui/kernel/qkeymapper_mac-original.cpp 2007-12-22 11:14:34.000000000 -0800
+++ ./src/gui/kernel/qkeymapper_mac.cpp 2007-12-22 11:13:01.000000000 -0800
@@ -129,9 +129,9 @@
static qt_mac_enum_mapper qt_mac_modifier_symbols[] = {
{ shiftKey, QT_MAC_MAP_ENUM(Qt::ShiftModifier) },
{ rightShiftKey, QT_MAC_MAP_ENUM(Qt::ShiftModifier) },
- { controlKey, QT_MAC_MAP_ENUM(Qt::MetaModifier) },
- { rightControlKey, QT_MAC_MAP_ENUM(Qt::MetaModifier) },
- { cmdKey, QT_MAC_MAP_ENUM(Qt::ControlModifier) },
+ { controlKey, QT_MAC_MAP_ENUM(Qt::ControlModifier) },
+ { rightControlKey, QT_MAC_MAP_ENUM(Qt::ControlModifier) },
+ { cmdKey, QT_MAC_MAP_ENUM(Qt::MetaModifier) },
{ optionKey, QT_MAC_MAP_ENUM(Qt::AltModifier) },
{ rightOptionKey, QT_MAC_MAP_ENUM(Qt::AltModifier) },
{ kEventKeyModifierNumLockMask, QT_MAC_MAP_ENUM(Qt::KeypadModifier) },
@@ -487,9 +487,9 @@
if(*outModifiers & Qt::ShiftModifier)
tmp_mod |= shiftKey;
if(*outModifiers & Qt::MetaModifier)
- tmp_mod |= controlKey;
- if(*outModifiers & Qt::ControlModifier)
tmp_mod |= cmdKey;
+ if(*outModifiers & Qt::ControlModifier)
+ tmp_mod |= controlKey;
if(GetCurrentEventKeyModifiers() & alphaLock) //no Qt mapper
tmp_mod |= alphaLock;
if(*outModifiers & Qt::AltModifier)