I think I have found a solution to the serious regression with regards to Dvorak keyboard shortcuts in Carbon based applications that Apple introduced with the OS X 10.5.6 update. This weekend I might follow up with a more thorough write up. For now just the solution will have to do as I am short on time.
Unfortunately the solution requires you to have access to an OS X 10.5.5 installation which not everyone might have at their disposal. It basically boils down to replacing the 10.5.6 installation’s /System/Library/Frameworks/Carbon.framework with that of the 10.5.5 version. I haven’t tested it extensively. In fact I have only confirmed that cmd-c and cmd-v finally work again in Eclipse.
The 10.5.6 installation lives in:
/System/Library/Frameworks/Carbon.framework
The 10.5.5 installation is mounted from an external hard drive at:
/Volumes/Bak MacBook/System/Library/Frameworks/Carbon.framework
These are the steps I performed:
$ cd /System/Library/Frameworks
$ sudo cp -Rpv Carbon.framework ~/Temp/
$ sudo rm -rf Carbon.framework
$ sudo cp -Rpv /Volumes/Bak MacBook/System/Library/
Frameworks/Carbon.framework .
BTW the 10.5.6 installation is a PPC one and the 10.5.5 is an Intel one. That doesn’t seem to matter as, as far as I can tell, all the files in the Carbon.framework directory are resource files which are platform independent.
Be careful though. I have barely tested this and hence it might have serious unwanted side effects.
Update: As it turns out some things do break when reverting to the 10.5.5 version of the Carbon.framework. For instance pressing ENTER in Finder does not allow you to rename a file or directory anymore. And according to Apple forum user LEgregius it also breaks something in iPhoto. To work around these issues LEgregius has a short shell script that switches between the two versions of Carbon.framework when starting Eclipse. I have adjusted this script slightly to make the switch conditional:
#!/bin/sh
FRMW_DIR=/System/Library/Frameworks
CARBON_FRMW=${FRMW_DIR}/Carbon.framework
if [ -e $CARBON_FRMW -a -e ${CARBON_FRMW}.1055 ]
then
sudo mv $CARBON_FRMW ${CARBON_FRMW}.1056 &&
sudo mv ${CARBON_FRMW}.1055 $CARBON_FRMW &&
echo "Switched Carbon.framework 10.5.6 -> 10.5.5"
fi
open -W /Applications/eclipse/Eclipse.app
if [ -e $CARBON_FRMW -a -e ${CARBON_FRMW}.1056 ]
then
sudo mv $CARBON_FRMW ${CARBON_FRMW}.1055 &&
sudo mv ${CARBON_FRMW}.1056 $CARBON_FRMW &&
echo "Switched Carbon.framework 10.5.5 -> 10.5.6"
fi
robosonia said
Works great!!
I didnt have any other macs around, so I’ve dled the combo 10.5.5 update, replaced the relevant folders from there, restarted eclipse and it’s back to normal!
I was about to try to fix it with a bat…
Thanks a lot!
רובוטים.אורג » תיקון עידכון 10.5.6 של OSX לסידור מקשי קיצור בדבורק said
[...] (נגנב מ-Guido Kollerie) לשחזר את סיפריית קרבון למה שהיתה לפני העידכון. אפשרות [...]
Aaron Powers said
This is great! Thank you!
Eclipse works and Microsoft Word works, and for the first time in almost a month I can be productive again without getting the wrong action repeatedly.
Thanks for your help! (BTW, so far I’ve only tested it superficially, but hopefully it holds up).
Stephen said
Thanks!!
I restored my Carbon.frameworks folder from TimeMachine to a point before installing 10.5.6., after first creating a disk image of it as an extra safeguard. Keyboard shortcuts are working great, haven’t seen any ill side-effects so far.
Impatient with Apple and their broken updates - Christian Geekery | Christian Geekery said
[...] that the issue seemed to only revolve around carbon based apps. Eventually I found the answer here. It boils down to making a backup of Carbon.framework, deleting the live copy, and copying a backup [...]
Jeff said
I found that the “Dvorak – Qwerty Command” input works with the 10.5.6 Carbon.framework. no moving frameworks in and out. Only need to remember that command key combos are in qwerty. I will try this for a while to see how hard it is to adapt.
Dvorak keyboard regression fixed in OS X 10.5.7? « Guido Kollerie said
[...] I have learned my lesson. I know Apple’s disregard for its customers. I know the time I have spent on finding a workaround and I don’t want to be pulled through something like that again. I depend on my Apple [...]