Overlapping Key Bindings?


Hey everyone!

As I’ve been working with input stuff over the past few weeks, I’ve noticed and heard about some key commands that are overloaded to do two things. The eventual goal would be to prevent these overlaps by having some system for checking the availability of key bindings between input devices, scripts, and hardcoded mappings (for settings, etc.), but that’s a long ways off.

For right now, if you notice any overloaded key bindings, can you tell me what system you’re on and what the key bindings do? I’ve noticed that on mac (and probably windows), shift+a is left strafe but it also toggles the atmosphere.

Also, as a temporary resource to make scripting easier, would some kind of list of key combinations -> effects be helpful?


Some time ago I have begun, to list keys, which are used in different scripts. https://alphas.highfidelity.io/t/key-and-mouse-events/5983

A list of key bindings really would be very helpfully.




@summer4me… Perfect, thank you! I’ll try to resolve some of those issues.

Where would be the best place for this list? I think it would be easy enough to compile, but I worry that it would quickly become out of date. We could keep it in the forums, which would ensure that people saw it and kept it up to date, or we could put it up with the other docs.



can we use this?


Some kind of visual shortcut manager would be great, especially if it let you change around the bindings! But that kind of integration is a long ways off. Shorter term, a visualizer for input action bindings (forward, backward, pitch, yaw, etc.) for different devices would be great and is very possible with all the controller stuff I’ve been working on. That won’t cover scripted shortcuts and hardcoded shortcuts, though. But if someone wants to do that, they could put up a worklist job for it!


could you use a prezi presentation for it, let some alphas have the password, so they can update it as and when?


@SamGondelman See https://worklist.net/20599 … Two duplicate key mappings plus suggestion to get rid of “Meta” in shortcuts because it doesn’t work on Windows.


Do you have any suggestions for what to use instead of Meta? It’s pretty ingrained in the code from what I’ve seen. For example, javascript key events have an event.isMeta flag, I believe. On Mac I believe it corresponds to Command. On Windows, I guess the analogous key would be the Windows button? Is there any support for that that you know of? If not, what if “Meta” corresponded to that on Windows?

Judas: I don’t want to make the process of learning how to use Hifi any more complicated by adding any other external resources, but I guess that could work as a temporary step.


There is no such thing as a meta key in OS x (or Windows). There is such a thing in emacs and terminal apps, and in those apps their meta function happens to be mapped to the command key on the Mac and sometimes the ESC key on the Mac. It is not a hard binding. The Windows key in Windows OS tends to have very OS specific actions that would make it a bad candidate.

My recommendation for cross compatibility is to bind those things to the ESC key on both systems. Yes, the lobby would have to go or be moved (as in to ESC-L), but I think that’s OK.


The Unofficial Wiki would be one place to put it. Easily updated, etc.


@SamGondelman Instead of Meta, I’d suggest just using Ctrl or Shift or Alt, or some combination thereof depending on each case and what key mappings aren’t already used.

See http://doc.qt.io/qt-5/qt.html for info on Qt’s handling of the Meta etc. keys.


In a bit of digital archeology, I dug around and now remember the last time I used the meta key - on my SPARC workstation in 1988ish. The Solaris OS dropped support for the meta key in 2006, which is why those vintage editors and terminal apps had to bind it to another key.


I’ve occasionally used Amiga Forever, an Amiga computer emulator, on my Windows 7 machine. The old Amiga platform had its version of Mac’s Meta keys in the form of the left-Amiga and right-Amiga keys. On my Win7 machine, those are mapped to the left and right Windows keys, respectively… so yes, there ARE applications on Windows that use those Windows keys for something other than bringing up the Start menu. It is also why I find it irritating seeing so many USB keyboards these days that only give ONE Windows key. :confused:


It also could be a script how the currentAPI.js, to list the keys.