diff options
authorvarmaa <varmaa@8b7adc99-b347-0410-ae0a-d9e86c8d69b5>2008-05-03 22:33:56 +0000
committervarmaa <varmaa@8b7adc99-b347-0410-ae0a-d9e86c8d69b5>2008-05-03 22:33:56 +0000
commit4c77184aee63aa271cd6f0bcdc2e9a413c418fb0 (patch)
parenta5b358314f9cda55c00d374e20a73170da8cc33e (diff)
Added a section to the OSX readme about modifications that need to be made to system preferences for Enso to work.
git-svn-id: 8b7adc99-b347-0410-ae0a-d9e86c8d69b5
1 files changed, 50 insertions, 4 deletions
diff --git a/README.osx b/README.osx
index 44552fa..e0097e7 100644
--- a/README.osx
+++ b/README.osx
@@ -2,7 +2,7 @@ Enso OS X Readme
To build the Enso OS X backend, in addition to the prerequisites
-outlined in the README:
+outlined in the README, you'll need:
* Mac OS X 10.5 (Leopard)
This operating system comes packaged with an appropriate version
@@ -15,9 +15,55 @@ outlined in the README:
* Apple XCode tools
This is needed for the gcc toolchain.
-In order for quasimodal keypresses to be properly detected on
-OS X, you must enable access for assistive devices in the Universal
-Access System Preferences.
+Configuring System Preferences for Enso
+Unfortunately, there are two sticking points that make Enso
+a little difficult to set up and, to some extent, use on OS X.
+Firstly, in contrast to Windows, OS X has security restrictions
+against allowing any application to process incoming keystrokes--this
+is totally understandble, since it would be very easy to write a
+keyboard logger (which is, unsurprisingly, the case on Windows).
+In order to get around this on OS X, we need to either run the OS X
+key notifier process (installed at bin/EnsoKeyNotifier) with root
+privileges, or enable access for assistive devices in the Universal
+Access System Preferences. The latter is the easiest to do; just mark
+the checkbox marked "Enable access for assistive devices" in the
+aforementioned control panel (the checkbox is near the bottom of the
+The second issue is that it appears to be impossible for user-level
+code to observe the key-up/key-down state of the caps lock key;
+instead, the caps lock state is reported modally, i.e. the operating
+system tells us whether the caps lock mode itself is on or off, but
+not whether the key is up or down. At present, the easiest way to get
+around this is by mapping the caps lock key to the option key in the
+Keyboard & Mouse Preferences. Just go to the "keyboard" section in
+this pane, click the "Modifier Keys..." button, and change the
+The first thing you'll notice that this means that the quasimode can
+now be activated by both your caps lock key AND your option key,
+effectively cutting you off from your option key! While this is quite
+unfortunate, we have implemented a little workaround that lets you use
+your option key for basic things: if you enter the quasimode by
+pressing option, press exactly one key, and then exit the quasimode,
+Enso will re-send your keystrokes to the current application instead
+of trying to execute a nonexistent one-letter command. This means
+that you can still press option-8 to get a bullet point character, but
+you can't continually press the "8" key twice while holding down
+option to get two bullet points, as this will instead be interpreted
+by Enso as the nonexistent command "88". Instead, you'll have to
+press option-8, followed by another option-8.
+While this isn't particularly convenient, and the workaround doesn't
+work in certain applications like World of Warcraft, it's nonetheless
+the easiest way to do things for the time being. Hopefully in the
+future, we'll get a contributor who knows how we can get ahold of the
+state of the caps lock key without remapping it to something else. To
+this contributor will go much praise and beer.