Plea for event control

At the risk of sounding like a broken record…

I am pleading for the ability to shut off event forwarding to Nifty for consumption. The ability to write advance UI components is now all but gone. There is no way to stop Nifty from consuming events and with the current implementation the choice of WHICH events has been taken away from the developer completely.

Nifty does NOT support mouse wheel, mouse right-click, etc. The only way there was to implement this was to handle events OUTSIDE of Nifty. Now that this is gone, 50% of the UI functionality I had implemented is no longer and option. This one change has been crippling in the ability to design and implement an advanced UI.

I am not asking that this be done now, or even soon… but some indication as to IF it will be an option, will allow me to make decisions as to whether or not to continue with JME as a game development platform. I would prefer to use JME, as I think you all have done an incredible job and it is far more intuitive than others. I would prefer to continue to use Nifty, as it was developed with those of us who prefer to write custom controls in mind. But without the ability to handle events properly, both are quickly becoming useless to me, as design is totally stifled by functional capability. :frowning:

Thanks in advance for your response.

Dude, you said that, we heard you, we think about it.

I appreciate you letting me know. I had no clue if anyone was considering it or not, as it was never responded to.

<<< is not a dude, fyi. Dudette, if you really have to call me that.

Mh… why not t0neg0ddess then…? :stuck_out_tongue: Your output is way too elaborate, that makes guys not talk you know? ^^

I always thought thorough was best. Me bitching about something without a thought out reason, would just be me bitching. This way, at least it is me bitching with purpose :wink:

I really do appreciate all the work you guys/girls put into this… and I am serious when I say, it is far more intuitive than “other” available render engines.

Thanks for getting back to me about this… at least I can hold out hope!

P.S. Hmmm… t0ne G0ddess… I like it >.<

I feel your pain t0neg0d. Right clicking and mouse wheel user input is a necessity for my game, but please be patient. Considering the fact that jme3 is in an alpha stage, and Nifty is only on 1.3, they both exhibit an enormous amount of functionality.

For me, I plan on moving on towards building my levels while I wait for the required input events to get fixed/added into Nifty 1.3. If you can’t wait, you can always download the source to Nifty and figure out a way to “fix” it. If I was at that point, I’d definitely put in the effort to assist with these fixes but I still have a lot of asset building to do. :slight_smile:

Please don’t give up on JME3.

1 Like

There’s always the option of making local modifications or using your own version of the classes, I mean, this is why jME3 is open source.

The main issue in solving this, is that we don’t exactly know what to do to make everybody happy.

Adding a simple option to disable event consumption won’t solve anything.

I’ve added some changes to SVN that should make nifty ignore the right click and mouse wheel, hopefully it should help

1 Like

I really appreciate the effort, and I’m sure a solution will present itself eventually. I can’t wait to try out the changes for right-click and mouse wheel.

The major issue I can’t seem to work around aside from these two, is an issue with retrieving mouse coords once the cursor is over a nifty element. I’m not sure why it happens, but once the mouse is over an element, I stop receiving mouse movement information… but only in part. My eval for determining if I have the mouse inside the element still works, but the image I have following the mouse cursor stops following while over the element.

I have no issue with nifty consuming left mouse click info, but the mouse position is hard to work around.

I’ll revisit this tomorrow and see if I can find a work around. If not, I’ll wait for a later beta or final release before modifying any of the source.


I was using an analoglistener to only update the image position if the mouse was being moved, I moved this to update and it fixed the Picture issue. If the other two (right-click and wheel) are fixed, my last and only remaining issue is not seeing mouse button release when over a nifty element. I think I can work around this by hiding the cursor while moving, resizing, manipulating controls.


Thanks a ton for the suggestion and all the hard work!

Also you can receive events before nifty and even consuming them before nifty gets them, by implementing RawInputListener.

I think that the mouse motion events shouldn’t be consumed at all, what do you think? Would this create a problem in other situations?

I also think that only button events should not be forwarded…


My mouse wheel and right-click support for Nifty works again :slight_smile: I haven’t tried hiding the cursor to hide mouse click events yet, but I believe that someone else reported that as working great.

Thanks soooooooo much!!!

Yes. It works great. Tried both and no problem. :slight_smile:

Awesome, Thanks for the quick fix Momoko!