From 3916e58394710eb99108debcdd27b82f56dfe09a Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sun, 3 Feb 2013 12:25:33 +1000 Subject: Notes on camera movement keys / mouse gestures. --- ClientHamr/extantz/extantz.c | 60 ++++++++++++++++++++++++++++++++++++ ClientHamr/extantz/extantzCamera.cpp | 13 -------- 2 files changed, 60 insertions(+), 13 deletions(-) (limited to 'ClientHamr') diff --git a/ClientHamr/extantz/extantz.c b/ClientHamr/extantz/extantz.c index 4d723a3..0cf2ed7 100644 --- a/ClientHamr/extantz/extantz.c +++ b/ClientHamr/extantz/extantz.c @@ -398,6 +398,66 @@ static void _on_camera_input_down(void *data, Evas *evas, Evas_Object *obj, void } } +/* SL / OS camera controls + up / down / w / s moves avatar forward / backward + shifted version does the same + double tap triggers run mode / or fast fly mode + Running backwards turns your avatar to suit, walking does not. + left / right / a / d rotates avatar left / right, strafes in mouselook + shifted version turns the avatar to walk sideways, so not really a strafe. + So not sure if the "strafe" in mouse look turns the avatar as well? + PgDn / c crouch while it is held down move up in flight mode + PgUp jump move down in flight mode + Home toggle flying + End Nothing? + Esc return to third person view + m toggle mouse look + mouse wheel move view closer / further away from current focused object or avatar + Alt left click focus on some other object + Ins ??? + Del ??? + BS ??? + Tab ??? + + Mouse look is just first person view, moving mouse looks left / right / up / down. + Not sure if the avatar rotates with left / right, but that's likely. + + mouse moves With the left mouse button held down - + left / right up / down + --------------------------------- + for avatar swings avatar around zoom in and out of avatar + for object nothing + alt orbit left / right zoom in and out + alt ctrl orbit left / right orbit up / down + alt shift orbit left / right zoom in and out + alt ctrl shift shift view left / right / up / down + ctrl Nothing? + shift Nothing? + ctrl shift Nothing? + + Need to also consider when looking at a moving object / avatar. + + I think there are other letter keys that duplicate arrow keys and such. I'll look for them later, but I don't use them. + No idea what the function keys are mapped to, but think it's various non camera stuff. + I'm damn well leaving the Win/Command and Menu keys for the OS / window manager. lol + Keypad keys? Not interested, I don't have them. + Print Screen / SysRq, Pause / Break, other oddball keys, also not interested. + NOTE - gonna have an easily programmable "bind key to command" thingy, like E17s, so that can deal with other keys. + Should even let them be saveable so people can swap them with other people easily. +*/ + +/* A moveRotate array of floats. + * X, Y, Z, and whatever the usual letters are for rotations. lol + * Each one means "move or rotate this much in this direction". + * Where 1.0 means "what ever the standard move is if that key is held down". + * So a keyboard move would just change it's part to 1.0 or -1.0 on key down, + * and back to 0.0 on key up. Or 2.0 / -2.0 if in run mode. + * Which would even work in fly mode. + * A joystick could be set to range over -2.0 to 2.0, and just set it's part directly. + * A mouse look rotate, well will come to that when we need to. B-) + * Setting the x or y to be the DIFFERENCE in window position of the mouse (-1.0 to 1.0) since the last frame. + */ + static void _on_camera_input_up(void *data, Evas *evas, Evas_Object *obj, void *event_info) { GLData *gld = data; diff --git a/ClientHamr/extantz/extantzCamera.cpp b/ClientHamr/extantz/extantzCamera.cpp index 4d4be02..2256f36 100644 --- a/ClientHamr/extantz/extantzCamera.cpp +++ b/ClientHamr/extantz/extantzCamera.cpp @@ -72,19 +72,6 @@ extantzCamera::~extantzCamera() } -/* Have a moveRotate array of floats. - * X, Y, Z, and whatever the usual letters are for rotations. lol - * Each one means "move or rotate this much in this direction". - * Where 1.0 means "what ever the standard move is if that key is held down". - * So a keyboard move would just change it's part to 1.0 or -1.0 on key down, - * and back to 0.0 on key up. Or 2.0 / -2.0 if in run mode. - * Which would even work in fly mode. - * A joystick could be set to range over -2.0 to 2.0, and just set it's part directly. - * A mouse look rotate, well will come to that when we need to. B-) - * I think setting the x or y to be the window position of the mouse (-1.0 to 1.0) should do it. - * Or not. meh - */ - void extantzCamera::animateNode(ISceneNode* node, u32 timeMs) { if (!node || node->getType() != ESNT_CAMERA) -- cgit v1.1