OK, this is the next task: Interfacing Jmol with a multi touch interface.
In preparation for this, I've cleaned up MouseManager, merged PickManager
functionality with much of what was in MouseManager to make ActionManager,
and then added a set of "Bindings" that define how mouse actions correlate
(not necessarily 1:1) with Jmol actions. As you switch picking modes, the
binding of the mouse actions to the Jmol actions changes.
This allowed quite a nice clean-up of the mouse action business. I think it
would be easy enough to define all the bindings and just show them in the
Just to experiment, I added two single-touch "gestures" that just use the
standard LEFT-mouse button:
Zoom works like on a laptop touchpad -- a vertical scrolling motion in the
right 2% of the screen. (We could add a little strip for that if we feel we
And, more interesting, a "swipe" of the model now initiates a
Google-Earth-like spinning. (This was something suggested some time ago.)
The rate of spinning depends upon how fast you swipe, and the direction, of
course, follows your swipe. It's VERY cool! This can be emulated using a
regular mouse just be training yourself to release the mouse and stop the
motion at the same time -- which is what a touch-screen does, I believe. (On
a touch screen, then, if you didn't want it to spin, what you would do is
just hold your finger on the spot for just an instant (50 ms) after stopping
the hand motion. I think that's pretty much how it works on an iPod.
Does anyone happen to have a multi touch computer to test this on?
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
If nature does not answer first what we want,
it is better to take what answer we get.
-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900