Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Joystick configuration option not displaying in settings #248

Closed
nbarros8 opened this issue Jun 14, 2018 · 8 comments
Closed

Joystick configuration option not displaying in settings #248

nbarros8 opened this issue Jun 14, 2018 · 8 comments

Comments

@nbarros8
Copy link

Joystick: Logitech Extreme 3D (USB)

System info:
Vendor: Oracle Corporation
Arch: amd64
OS: Windows 10
Ver:10.0

image
image

@cjritola
Copy link
Member

This may be related to jinput/jinput#16 . I have upgraded the jInput version used to 2.0.7, which may solve the issue.

If issue persists, please check log.html in Terminal Recalls's base directory (not target) for Exceptions and their stacktraces highlighted in red, approximately a dozen lines long and paste them for me to evaluate in hopes of isolating the problem.

@nbarros8
Copy link
Author

Unfortunately it did not resolve.

Here are the exceptions:

java.lang.NullPointerException
at net.java.games.input.RawMouse$Button.(RawMouse.java:197)
at net.java.games.input.RawMouseInfo.createControllerFromDevice(RawMouseInfo.java:83)
at net.java.games.input.RawInputEnvironmentPlugin.createControllersFromDevices(RawInputEnvironmentPlugin.java:160)
at net.java.games.input.RawInputEnvironmentPlugin.enumControllers(RawInputEnvironmentPlugin.java:176)
at net.java.games.input.RawInputEnvironmentPlugin.(RawInputEnvironmentPlugin.java:123)
at net.java.games.input.DirectAndRawInputEnvironmentPlugin.(DirectAndRawInputEnvironmentPlugin.java:46)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.base/java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:160)
at org.jtrfp.trcl.ctl.GamepadInputDeviceServiceFactory$GamepadInputDeviceService.(GamepadInputDeviceServiceFactory.java:65)
at org.jtrfp.trcl.ctl.GamepadInputDeviceServiceFactory.newInstance(GamepadInputDeviceServiceFactory.java:208)
at org.jtrfp.trcl.ctl.GamepadInputDeviceServiceFactory.newInstance(GamepadInputDeviceServiceFactory.java:38)
at org.jtrfp.trcl.core.FeaturesImpl.newFeatureInstance(FeaturesImpl.java:148)
at org.jtrfp.trcl.core.FeaturesImpl.getFeature(FeaturesImpl.java:137)
at org.jtrfp.trcl.core.FeaturesImpl.get(FeaturesImpl.java:172)
at org.jtrfp.trcl.core.FeaturesImpl.init(FeaturesImpl.java:105)
at org.jtrfp.trcl.core.FeaturesImpl.newFeatureInstance(FeaturesImpl.java:154)
at org.jtrfp.trcl.core.FeaturesImpl.getFeature(FeaturesImpl.java:137)
at org.jtrfp.trcl.core.FeaturesImpl.get(FeaturesImpl.java:172)
at org.jtrfp.trcl.core.FeaturesImpl.init(FeaturesImpl.java:105)
at org.jtrfp.trcl.core.Features.init(Features.java:55)
at org.jtrfp.trcl.flow.RunMe$1.run(RunMe.java:71)
at org.jtrfp.trcl.core.DefaultKeyedExecutor.executeAllFromThisThread(DefaultKeyedExecutor.java:64)
at org.jtrfp.trcl.flow.TransientExecutor$TransientThread.run(TransientExecutor.java:43)

@cjritola
Copy link
Member

Attempted fixes were committed for bug #247 and #248. At your convenience please let me know if the address the problems.

@nbarros8
Copy link
Author

Unfortunately the issues persists, is there any additional information I may provide to help?

@cjritola
Copy link
Member

cjritola commented Jul 1, 2018

Thanks for your patience. Some questions about your gaming rig:

  • What make/model of mouse(s) are you using?
  • Do you have any special mouse emulations running, such as gaming keyboards with mouse shortcuts, mouse macro programs, etc running which could potentially be creating an emulated/virtual mouse?
  • If you have any of these, does the issue resolve if you run Terminal Recall after removing them?

I am curious because the part which is tripping up may be where jInput sees more mouse buttons than expected. (>32). Although Terminal Recall doesn't use jInput for mouse input, jInput iterates through all devices before presenting them to Terminal Recall, including mouse. Terminal Recall then ignores the mouse. jInput is tripping up internally when evaluating the mouse.

@nbarros8
Copy link
Author

nbarros8 commented Jul 3, 2018 via email

@cjritola
Copy link
Member

cjritola commented Jul 9, 2018

An attempted fix has been committed and is propagated through the nightly builds as well. If you try it out please let me know if it fixes or not.

In log.html, there will likely be red text beginning with ISSUE #248 which gives information about the name of the mouse device and the number of buttons it is reporting which would be appreciated as I cannot produce this issue on my own systems.

The fix is a temporary replacement of a class in the jInput library which caps the number of "mouse buttons" to 32. It also reports to the log as explained above.

@cjritola
Copy link
Member

cjritola commented Dec 11, 2021

This may be caused by a hanging instance of Terminal Recall (see bullet point number 5):
https://forums.duke4.net/topic/5787-terminal-velocity/page__view__findpost__p__276134

... workaround is to make sure a previously-run instance is force-closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants