[Openmcl-devel] opengl rubix example

Hamilton Link hamlink at cs.unm.edu
Mon May 2 15:35:44 PDT 2005

I'm not using GLUT to handle keyboard or mouse events, I'm using 
NSOpenGLView for display, which inherits NSView's handling of events.

If I'm understanding your problem correctly, your single-button mouse 
won't work. #$NSRightMouseDragged and kin, as far as I can tell, 
require right-clicking... in other words, use a multi-button mouse's 
right button.

Ranting aside (I *hate* apple's policy of shipping landfill-caliber 
one-button mice with their systems and giving me only one laptop mouse 
button), er, d'oh...

Ranting aside, the OS doesn't give NSRightMouse-anything to an app when 
ctrl-clicking with a single button, it still gives left mouse events 
with modifiers. I haven't actually written the little bits of code into 
the rubix example to check for modifiers on the left-mouse button (the 
"only" mouse button), and probably won't, because I assume that a large 
fraction of Apple's consumer population buys real mice.

As a side note: Yes, this does mean that every apple program that 
handles ctrl-click as right-click has to be specifically coded to do 


On May 2, 2005, at 3:47 PM, Lawrence E. Bakst wrote:

> What set of modifiers do you think right-click requires? I assume 
> command-click? I tried all the possible combinations and nothing seems 
> to work. FWIW I found a post that seems to imply that GLUT may have 
> it's own idea of these mappings.
> http://lists.apple.com/archives/unix-porting/2002/Sep/msg00105.html
> I have no idea why my system would be different that yours.
> Best,
> leb
> At 1:36 PM -0600 5/2/05, Hamilton Link wrote:
>> Have you tried to right-click/drag on the faces? The initial solved 
>> cube will look like it has solid faces, yeah. But the six faces will 
>> rotate independently. Possibly a screen shot is in order...
>> Attachment converted: std:openmcl-opengl-rubix.tiff (TIFF/GKON) 
>> (00241126)
>> I've thought about making it more perfectly rubix-cubelike but it 
>> wasn't worth the effort, getting quaternions and picking & selection 
>> etc in an NSOpenGLView were the objectives.
>> And yes, there was only one tiny little change, in blocks.lisp
>> h
>> On May 2, 2005, at 1:11 PM, Lawrence E. Bakst wrote:
>>> Hi Hamilton,
>>> I'm not sure it's still working right on my laptop. I assume I am 
>>> supposed to see an array of 3x3 squares on each face of the cube? I 
>>> don't see that I see 6 solid color faces.
>>> Also, you only changed the file "blocks.lisp", correct? CVS showed 
>>> the other files all 9 months old.
>>> Best,
>>> leb
>>> At 11:24 AM -0600 5/2/05, Hamilton Link wrote:
>>>> In the process of toying with the idea of making stand-alone-app 
>>>> versions of the two opengl examples, I discovered that the rubix 
>>>> cube example had a picking and selection bug. It now works 
>>>> properly. Left-mouse/drag will rotate the cube, and 
>>>> right-mouse/drag on a face will turn a face clockwise or ccw.
>>>> The bug made right-mousing do picking and selection in the viewable 
>>>> buffer for some reason (and never switch the camera back), so if 
>>>> you tried it before and wondered if it was working properly, no it 
>>>> wasn't.
>>>> h
>>> --
>>> Lawrence E. Bakst
>>> leb at iridescent.org
> -- 
> Lawrence E. Bakst
> leb at iridescent.org

More information about the Openmcl-devel mailing list