Joystick enabled: Wacom tablet screwing with the input


Relevant info: 3.1.0-beta1-b002-SNAPSHOT

I have been slowly (due to time, perhaps slightly due to my tiny brain) digging into JMonkeyEngine which I am thrilled with. This evening I tried out enabling joystick input via:


As has been noted a while ago, it picks up a WACOM tablet. My tablet is fairly new and features multi-touch input, which I’m guessing is maybe why it’s registering as several joysticks? Or not. No matter - I’m spinning tangents there. What I didn’t see is someone mentioning that the tablet was driving input that made things unuseable. The scene spun around and wouldn’t settle no matter how many strange twists and dark conjurings I performed with mouse and hand (using WACOM mouse on the tablet). Yanking the input to the WACOM and switching to my stand-by mouse solved the issue. Note that turning off multi-touch on the WACOM didn’t change anything. Nor did removing my mouse from the tablet WITH multi-touch off.

My question is, has anyone had this experience? If so, aside from advising someone who might want to play my possible-future-awesome-game that they need to unplug their tablet, is there a work-around/solution to this? I searched a few times without luck on the forum, so please forgive me if I am hitting on something known and discussed (see small brain comment above). Specifically, I was wondering (didn’t see it in the API but admittedly I scanned the methods rather quickly) if I could perhaps turn off input for specific “joysticks” - of course namely the ones that read as wacom when iterating through the getJoysticks() array. Note: I did not see a way to tweak the dead-zone for specific devices - otherwise I would try looping through the joystick array and setting massive dead-zones for the wacom entries.

It’s a curious situation. Not many people, relatively speaking, will have WACOM tablets, but it still seems to be something that begs for a work-around if not a solution (which I believe may be outside the JMonkey end of things).

If it’s “Oh, and unplug your WACOM if you have one.”, then so be it :slight_smile:

Without knowing how you are listening to the joystick, it’s hard to comment further. But each plugged in device should show up as a different joystick so you could just listen to the one you want instead of “all of them at once”.

You can run the TestJoystick application to maybe see more about what’s going on. Possibly there might be a way to modify the file to map the wacom tablet to stuff that wouldn’t trigger at all or something.

I have a Wacom tablet attached but I use a gaming mouse as mouse, not the Wacom mouse. I think it’s a really great thing that the tablet is available as a joystick (yes, it’s one joystick on my machine). I must admit that my tablet is fairly old (10 years or so) but I don’t have such error - my Wacom does not give any input as long as the pen is in the holding position and there’s no mouse on the tablet. Did you stick the pen into the holding position? (or is there any on your device - on my tablet it’s a small hole where I can stick the pen - then the LED goes from green to yellow which is standby).

Actually I’m not entirely sure how I’m listening to the joystick :confused: I didn’t expect it to have any effect at all. The test case was simply enabling joystick input and then iterating over the array to see if my XBOX 360 controller would show up. It did, along with the WACOM of course. But I never hooked up anything to listen to the Joystick, which I had been under the assumption I would need to do. After seeing the camera react, I assumed that the SDK was automagically consuming the joystick input on some default template. Unplugging my tablet confirmed that the 360 controller was being listened to: left stick movement (y-axis Z-Plane, x-axis X plane, along the Camera’s local coordinates), right stick camera rotation (if I remember correctly).

This means I need to understand just how joysticks and input thereof works, as it didn’t require listeners or triggers. I had thought that perhaps the WACOM registering as a joystick allowed for it to send constant (confused) data through the mouse input, which, since it does act as a mouse, seemed a strong contender for a place to start looking around. Some kind of wires-crossed sort of thing. But the 360 controller had an effect. So maybe there is a default joystick handler, like with the mouse-look? Clearly this is where I should start hunting for my issue, although there may be something else afoot… cliff hanger!

pspeed, I did run the joystick test program - it crashed out on me before compiling completed. I was looking into it but ran out of time. Didn’t want to throw that in the mix actually, without making the effort to understand what went wrong. Also, I wanted to try it here at work, which I did this morning (shhhhh), and in fact it compiled and exectued without a htich. So whatever it is, it has to do with my rig at home, as both are running the same Win10 64-bit OS. It’s odd, since everything else I’ve been playing with has been working perfectly at home. I will be looking into this. Not sure if it could be related to my WACOM issue or not. I should have had the brains to bring my tablet to work and, in the case that the joystick test did compile and run, see if i could replicate the problem on this system. If I can’t determine the issues at home I will at least determine if the tablet issue has to do with my personal system as well. I’ll be sure to post that result as soon as I can.

Ogli, my tablet doesn’t have a holding position for the pen - it has a separate “dumb” holder. Placing both mouse and pen outside of the tablet’s (as far as I know) response to those devices effected no change to the issue I’m experiencing.

As this isn’t something that appears to have been noted, I will see what I can figure out about it before I pester anyone further. That may take some time :slight_smile: I will of course report anything intelligent I discover or uncover or imagine. I KNOW when I’ve got something intelligent to say because when I tell my pups, they’ll tilt their heads at 15 degrees and perk their ears.

Thanks for the feedback!

As far as I know that listening to joystick input for camera and stuff is default for FlyByCameraAppState when joystick input is enabled.

Yeah, if you are still using the demo flyby camera instead of your own then it’s for demos and so will listen to all joysticks.

Most real apps will write their own camera input handling at some point (usually an app state) instead of using the demo camera input.

Aha! That’s the ticket then. Damn that’s how green I am - I should have mentioned I was using the Basic Game as a playground. ::puts on noob cone::

Thanks very much.

Just following up on the joystick test crashing on my home rig. Today, it worked fine. :flushed:

By Java, I sound like some of the guys I support at work. Nonetheless, it is so. Chalk it up to random cosmic rays hitting my processor?

Anyway, glad it’s just me!