Control + Arrow Keys on a Mac is configured to switch between workspaces!
Issue #2:
The smoothing filter used when you call Input.GetAxis() creates issues when you try to do different things for the same axis. In other words, I want the vertical axis to either zoom or pan based on whether or not a modifier key is held down, which was causing a problem.
I got this to work akwardly quite quickly, but with one problem: At the end of the zoom (when I released the zoom key) the camera would make a glitchy looking pan movement. I think this has to do with the GetAxis() smoothing effect doing something when the key is released.
To solve this I had to sometimes use Input.GetAxisRaw() rather than Input.GetAxis() for vertical input. This makes the pan movement slightly less smooth (which I could probably fix with a gillion if/elses) but gets rid of the undesired camera movement.
If I use that I'd have to write separate code for left, right, up, and down and wouldn't be able to take advantage of the Input.GetAxis() functions...
– jahroyPlus, I need to do this inside of a LateUpdate() function. As far as I can tell, Event.current is null inside this method.
– jahroyBummer. Can you have a routine where it wouldn't be null (Update or OnGUI?) and save the state in your own vars?
– DaveAI'll give that a try and see how hacky it feels... Thanks.
– jahroyProbably very. Check this out: http://answers.unity3d.com/questions/51293/mac-keys-not-showing-up-or-very-strangely
– DaveA