I'm currently working on a project where I am bringing Maxima to CLIM (I've had some pretty good progress)
Very cool!
but one thing that has frustrated me is that CLIM does not have a consistent concept of keyboard control. I believe this comes from Genera. I wonder if it was designed at a time where it was thought that mouse control would be the primary mechanism of interaction.
I have not looked at Genera sources. I have poked around TI Explorer source code, and it looks to me like there was no convention for handling keyboard input as commands in the MIT derived Lisp Machines. This is a hard problem that went without an obviously satisfactory solution for a very long time. I believe the keymap and keymap inheritance and nesting mechanisms in GNU Emacs is the best model available today. One of the neat things in GNU Emacs is which-key mode (https://github.com/justbur/emacs-which-key), which is like the modeline help for mouse commands in Genera, for keyboard shortcuts.
Vladimir