I've been away from the mailing list for a while, but noticed in
reading the archives that requests continue to surface for a patched
version of LyX (actually of Qt/Mac) that makes the Mac's Command and
Control keys do what Emacs users expect them to do.

I'm happy to report that the patch I posted back in 2004 still works
for LyX 1.4 and Qt/Mac 3.3.6.  I've appended it below for reference.
As before, you can use it by following the instructions in the
INSTALL.MacOSX file in the LyX source distribution, but patching the
Qt distribution before you build LyX itself.

(To do that, cut and paste the text at the end of this note into a
plain text file; call it anything and put it anywhere you like.  Then,
from the top-level directory in the Qt source distribution, issue the
command "patch -p0 < YOUR-PATCH-FILE" where YOUR-PATCH-FILE is the
path to the patch file you created.)

I've also posted a LyX 1.4.1 .dmg file containing a patched LyX.app.
It's at:


(I couldn't get 1.4.2 to build; I suspect it's not a coincidence that
there's no 1.4.2 binary for OS X at the moment either.)

Note that most people who use this patch also use an OS-level keyboard
mapper like uControl or fKeys [ http://www.kodachi.com/software/fKeys ]
to map the Caps Lock key to the Control modifier.

Although I no longer monitor this list regularly, I will continue to
post patched binaries at the URL above when I build them for myself.

Thanks, as always, to the LyX team for all your hard work.



Jason Woodard

--- src/kernel/qapplication_mac.cpp.orig        2006-03-09 00:47:45 +0800
+++ src/kernel/qapplication_mac.cpp     2006-08-01 19:47:52 +0800
@@ -1212,11 +1212,11 @@
 static key_sym modifier_syms[] = {
 { shiftKey, MAP_KEY(Qt::ShiftButton) },
 { rightShiftKeyBit, MAP_KEY(Qt::ShiftButton) },
-{ controlKey, MAP_KEY(Qt::MetaButton) },
-{ rightControlKey, MAP_KEY(Qt::MetaButton) },
-{ cmdKey, MAP_KEY(Qt::ControlButton) },
-{ optionKey, MAP_KEY(Qt::AltButton) },
-{ rightOptionKey, MAP_KEY(Qt::AltButton) },
+{ controlKey, MAP_KEY(Qt::ControlButton) },
+{ rightControlKey, MAP_KEY(Qt::ControlButton) },
+{ cmdKey, MAP_KEY(Qt::AltButton) },
+// { optionKey, MAP_KEY(Qt::AltButton) },
+// { rightOptionKey, MAP_KEY(Qt::AltButton) },
 { kEventKeyModifierNumLockMask, MAP_KEY(Qt::Keypad) },
 {   0, MAP_KEY(0) } };
 static int get_modifiers(int key, bool from_mouse=FALSE)

Reply via email to