[Openmcl-devel] Key Codes in OpenMCL

Gary Byers gb at clozure.com
Sun Jan 14 23:49:41 PST 2007

Personally, I think that I'd just do:

(case event-code
   (#.#$NSUpArrowFunctionKey (handle-up-arrow))
   (#.#$NSDownArrowFunctionKey (handle-down-arrow))


(cond ((eql event-code #$NSUpArrowFunctionKey) (handle-up-arrow))
       ((eql event-code #$NSDownArrowFunctionKey) (handle-down-arrow))

whichever seems more reasonable/readable.

On Sun, 14 Jan 2007, Brent Fulgham wrote:

> On Jan 14, 2007, at 3:03 PM, Gary Byers wrote:
>> Cocoa uses a private-use range of the Unicode code space (#\uf700-#\uf8ff)
>> to name characters produced by function keys.  Giving the character whose
>> code is #xf700 (= #$NSUpArrowFunctionKey) a name like 
>> "NSUpArrowFunctionKey"
>> might make a little bit of sense, since there's at least some context
>> in which #xf700 is used as a character code (e.g., in the NSString
>> returned by -[NSEvent characters].
> Yes; this is the context I'm looking at presently.
>> And yes: there should be some user-visible way of naming characters.
>> (What's there now isn't thread-safe - just intended to run in the
>> initial thread during the cold load - and isn't opaque enough.)
>> I don't think that such a mechanism should be used to confuse Carbon
>> event codes with CHAR-CODEs.
> So for now, it sounds like I should just add some openmcl reader macro guards 
> and hard-code the character code values until something changes in the 
> implementation.  Right?
> Thanks,
> -Brent

More information about the Openmcl-devel mailing list