I've thought about this, too. As far as I can tell, the only way to do it is to have a programmable joystick that is adaptable enough to allow you to program this "feature." To my knowledge, the only such stick is a TM Cougar.
Before I sent my Cougar back to TM to be replaced (bad coolie switch), I played around with this and wrote some code that seemed to work correctly. Basically, each time you detect any of the eight directional inputs from the coolie hat, you release all of the coolie switch inputs using the KU command (even though they are not all held down, obviously) and hold down the input that was detected using the KD command. For example, if you define
view:release KU(KP1 KP2 KP3 KP4 KP6 KP7 KP8 KP9)
you can use the following code to accomplish the task (if I recall correctly):
BTN H1U view:release KD(KP8 KP5)
BTN H1UR view:release KD(KP9)
BTN H1R view:release KD(KP6)
etc.
You can use a similar scheme for the "view up" (KP5) and "view down" (KP0) modifiers.
The only problem with this scheme (for me), is that I use the coolie hat "up" position to correspond to "front up," so I needed to define a separate key to return the view to the front. It is also possible (I think) to define a "flash to front" key that will look to the front for a determined period of time and then return the view to where ever you were looking before, but that is a bit more involved.
- JNOV