Dear Maia,
Maia Cherney wrote:
> I would like to use only one-button keys, so that I could use only
> one hand when fitting.
Why!? Because the other one is needed to prop up your head, maybe? :-)
http://linuxoutlaws.com/files/dan-jaunty-party-thumb.jpg
I find using my left hand for keyboarding makes things way faster than
clicking on icons with the right hand on the mouse.
Well, now help me with key-bindings, please. I need one or two buttons
on the mouse for map dragging. Pymol and x-fit use the middle button
for translation. It confuses me all the time, when I work in coot after
working in pymol. Do you have any unused two-button combinations on the
mouse? If it's not possible to touch the mouse buttons in the
key-bindings, please help me to program arrow key for translation. Could
you give me a script for that, I can't write it myself.
There are no two-button combinations ("chording") on the mouse. I have
avoided them so far - it seems an esoteric interface and there have been
better ways of providing the necessary functionality.
Middle mouse drag for translate could be enabled as an option, I suppose.
As for the arrow keys for translate, add the following to your ~/.coot
file. You might need to tweak zsc. Be slightly careful not to overly
dwell with you finger on the button if you do not have a fast
processor/graphics card and have a fast key repeat.
Paul.
(let* ((zsc 0.02)
(screen-coords-nudge
(lambda (tvm nudge ori)
(map (lambda (e) (* nudge (apply + (map * e ori)))) tvm)))
(f (lambda (axes)
(let ((nudge (* (zoom-factor) zsc))
(rc (rotation-centre))
(tvm (transpose-simple-matrix (view-matrix))))
(apply set-rotation-centre
(map + rc (screen-coords-nudge tvm nudge axes)))))))
(add-key-binding "Translate Up" "Up" (lambda () (f '(0 1 0))))
(add-key-binding "Translate Down" "Down" (lambda () (f '(0 -1 0))))
(add-key-binding "Translate Left" "Left" (lambda () (f '(-1 0 0))))
(add-key-binding "Translate Right" "Right" (lambda () (f '( 1 0 0)))))