0
Fixed

Context click fails to register on Mac

alex oatridge 3 years ago updated by Lazlo Bonin (Lead Developer) 3 years ago 43 4 duplicates

On my mac, I can no longer right click on a state and get the menu to choose Toggle start, Make Transition and Make Self Transition. I have tried holding special keys like control, option, shift, but they don't make a difference. 

Bolt Version:
Unity Version:
Platform(s):
Scripting Backend:
.NET Version (API Compatibility Level):

Duplicates 4

+1

I had this problem too but it was simple fix. The zoom has to be set to 1x in the window to add a node. If you have zoomed out even a tiny bit it won't work and it's easy to not notice.

Not sure if you saw the post but it was confirmed that you have to be zoomed in all the way for right click or finder will not show. I believe he is addressing that in one of the up coming updates. 

I have also confirmed that trying to open the finder while Bolt is caching can sometimes be problematic as well. 

Pending Review

I merged the trackpad bug report with this one.

First of all, can you confirm that you were not zoomed out when this happens? If you were, I'll make sure to add a better, clearer warning that the node menu cannot open when zoomed out (because of this Unity bug). As James mentioned, Bolt is picky about this and 0.9x zoom will indeed block it.

There seems however to be a secondary issue somewhere. The fuzzy window appears to be losing focus after opening and therefore closing instantly. It's a hard to track the root cause but I'm looking into it.

I know the Mac bugfixes are a bit far off in the roadmap, so I'll try adding a keyboard shortcut to open the fuzzy finder in the next version as a hotfix in the meantime.

I can confirm that as well on Mac. 

Pending Review

Sorry about that, I'll try to see what caused it. Can you access the context menus in flow graphs? (using Shift+RMB)

Yes, I forgot I had to click on a unit 1st, then right click off unit to pull it up. I assume that was intentional or needed.

Just as feedback during the testing for another bug I reported this had been a constant bug for Bolt 1.1.3. I tested with 2017.1.1f and 2017.2.0 versions of Unity and new empty projects. Only returning to Bolt 1.1.2 fixes my right click issues on my Mac.

  • Can you access the context menu on units in flow graphs?
  • Can you open the context menu by pressing Cmd+E while hovering the state?

All right clicking for a menu fails on flow graphs or states. Cmd+E does work and just noticed that left click + Control also brings up the menu. No idea why I never thought of left clicking with the option key and focused only on right-clicking. I can now start using 1.1.3 and waiting for 1.1.4! Thanks!

This is the issue I was referring to Lazlo. No error. You are simply not given the option to make a transition either by right click as before or with cmd/ctrl right click on a Mac. Otherwise works fine but no transition pretty much brings many things to a halt.

I'm confused, there seems to be two issues here, not one. If I understand correctly:

  • Alex: you can't open the menu at all.
  • William: you can open the menu, but don't see the make self transition options

Can you confirm? And William, what other options do you get?

Sorry, just as the original post states "On my mac, I can no longer right click on a state and get the menu to choose Toggle start, Make Transition and Make Self Transition. I have tried holding special keys like control, option, shift, but they don't make a difference. "

All the other options you added for the new contextual menus show, Create, copy, cut, dup and del.

Just no option showing at all any more to toggle start or any kind of transition. I assume those options are meant to still be in the new menu correct?

As I did not see it listed for 1.2.0 I assume you did not find a fix yet?

+1

I might have fixed it as a side effect of other changes in 1.2, but I had looked in the changes between 1.1.2 and 1.1.3 and I saw nothing that could affect that. To be honest, testing on Mac is very tedious (because I can't build Bolt from Visual Studio on Mac), so I'm keeping all the Mac fixes in the same update (next version, 1.2.1). I'll try to issue a hotfix ASAP if this prevents you from using the plugin.

Fair enough. A version of Visual Studio is available for Mac now if you were not aware, https://www.visualstudio.com/vs/visual-studio-mac/ or do you mean there is an issue with the Mac version in building Bolt or you do not own actual Mac?

Thanks, I wasn't aware of it. I do own a Mac on which I test Bolt, but up until now I couldn't compile my changes directly on it, meaning it was a tedious process of compiling on Windows, and syncing the DLLs, etc. I wonder if that Visual Studio version is full fledged.

I use it occasionally and have found no critical differences. 

And yes, that is a horrible workflow so hopefully this will ease that. 

Heads up, this issue is still present in 1.2.0. No transition, or start state options showing.

What version of Bolt are you using?

Pending Review

Hi Gas,

Is there any chance you're on a version below 1.2 and that your graph is zoomed out?

Opening the fuzzy finder while zoomed out was a feature introduced in v.1.2 only.

 BOLT version is 1.2.0.  I made new project, and I installed BOLT again now. But still Fuzzy finder doesn't appear, when I right-click an empty space in the graph.  : (

Are you sure you have a flow machine attached to the game object you have selected?

What operating system and Unity version are you using?

Yes, I attached a flow machine  to the game object I have selected.

MacOS High Sierra version 10.13.1.

Unity  2017.1.1f1 Personal

Fuzzy finder doesn't appear when zoomed out. Fuzzy finder also doesn't appear when zoomed in. 

I was having the same issue on Mac with new version 1.2.0. I updated the Unit Options(Tools --> Bolt --> Update Unit Options) that resolved my issue

Are you getting any console error when trying to open the fuzzy finder?

When I open project, console displays '

Metal: Editor support disabled, skipping device initialization' 

That's unrelated.

How do you open the fuzzy finder? Do you have a mouse or trackpad?

Can you try pressing Ctrl+LMB or Cmd+E in the graph and see if it opens?

I have a mouse. I press Ctrl+MouseButton(right-click on MAC).

And I pressed Cmd+E in the graph, then fuzzy finder opened. Thanks very much !!   I will use Cmd+E in the graph.

Any progress on this issue Lazlo?

I've been able to reproduce it somewhat.

Here's what I found on Mac:

  • On graph backgrounds, all context clicks work:
    • RMB
    • Two-finger tap
    • Ctrl+LMB
    • Cmd+E
  • On graph elements, only the following seem to work:
    • Ctrl+LMB
    • Cmd+E (while hovered)

The current workaround is to use Ctrl+LMB or Cmd+E to trigger the context menu on graph elements.

Ok, now I feel stupid. I can Ctrl+LMB on a state and get the Traditions and start stay options. Did you cage it to left click vrs right and I missed that? Cmd+E still works fine. I did not realize you separated the 2 menus and assumed you simply added the new contextual Cut, copy, past and dup to the transition one when in a state necessitating different mouse buttons and or keys presses.


Well, there's still a problem, because RMB or two-finger tap should work on Mac as well, but at least now you're not stuck! :) 

Yes. Ok so that confirms it, it should come up on a Ctrl Right mouse button.

Confirmed

The current workaround is to use Ctrl+LMB or Cmd+E to trigger the context menu on graph elements.

Fixed in Alpha

This issue was very tricky, but I fixed almost all cases for the next version.

The root of the problem is that in the Unity editor, context-click events on Mac behave differently than on Windows, and Unity says this is "by design" (meaning they have no intent of fixing it).

Here's what events get sent on different systems and inputs (but isn't documented anywhere):

InputWindowsMac OS X
RMBMouseDown
MouseUp
ContextClick (if MouseUp wasn't used)

MouseDown
ContextClick (if MouseDown wasn't used)
MouseUp


Secondary ClickN/AMouseDown
ContextClick (if MouseDown wasn't used)
MouseUp








Ctrl+LMBN/AContextClick
MouseDown
MouseUp

[Cmd/Ctrl]+EBolt treats as ContextClickBolt treats as ContextClick

The first problem that was happening is the tricky little if in parentheses in the table above. When you used RMB or the trackpad's secondary click on a widget (but not on the canvas background), the widget got selected, and this used the MouseDown event. Seeing that MouseDown was used, Unity would not trigger ContextClick. This will be fixed.

The second problem is that Ctrl+LMB works differently, with the ContextClick event sent first (for some obscure Unity reason!). This meant that the ContextClick menu would open as expected, but if the widget wasn't selected before Ctrl+LMB, the wouldn't include the edit options, because it would only get selected in MouseDown, after the ContextClick event. This will be fixed.

The third problem is when opening the fuzzy finder using Ctrl+LMB. When ContextClick is sent in the first frame, the fuzzy finder window opens. However, right after, MouseDown is sent to the graph window, meaning the fuzzy finder window loses focus and closes, becauses it is a Dropdown-like window. There seems to be no way of avoiding that whatsoever, because the focus code is handled directly by Unity, not by Bolt. This cannot be fixed. 

Therefore, the only remaining bug is that the fuzzy finder cannot be opened with Ctrl+LMB on Mac OS X. However, any of these methods will work as a workaround:

  • Using RMB on an external mouse
  • Using the trackpad's secondary click
  • Using Cmd+E
  • Disabling Preferences > Bolt > Skip Context Menu to access the fuzzy finder via Add Unit

Ha, who would've thought something so seemingly simple is not.