Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

[Bug] Rumble is muted after any keyboard/mouse input - Test Vibration button does nothing when clicked with the mouse

Đang mở
#1,015 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
66/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
java
Lĩnh vực
game-dev

Hướng nghiên cứu

Start by tracing how keyboard or mouse input changes the active input mode and where that mode silences the rumble manager; the issue identifies this as a separate path from the pause-screen fix in #430. Check the Test Vibration action in controller settings alongside in-game rumble effects. Done when mouse input no longer prevents the test button from triggering vibration and the expected in-game rumble behavior is restored.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Current Behaviour

The "Test Vibration" button in the controller settings (Vibration section) does nothing when it is clicked with the mouse. There is no vibration at all and nothing is logged.

I can reproduce this deterministically:

  • If I use the mouse at all (move it, scroll, or click anything - including the Test Vibration button itself), rumble stops working.
  • If I then press any button on the controller and trigger Test Vibration using the controller, it vibrates normally.
  • Touching the mouse again silences it again.

The same thing happens in-game: after any keyboard/mouse input, rumble effects are suppressed until the controller is used again.

I don't think this is a controller or SDL problem. While the game was running, a debug dump showed the controller has a rumble component, SDL reports SDL.joystick.cap.rumble = true, and calling SDL's rumble function for the connected gamepad directly vibrates the controller normally. The rumble manager is simply being silenced.

In Controlify 2.0.3 (older modpack) the Test Vibration button worked while using the mouse. In 3.0.x, rumble appears to be muted whenever the last input was keyboard/mouse, so clicking Test Vibration with the mouse mutes rumble at the same moment. I also checked the 3.5.3 release source on GitHub and the same input-mode-based muting is present there, so current versions are likely affected as well.

If muting rumble for keyboard/mouse users is intentional, being unable to use the Test Vibration button with the mouse still seems like a bug - the mouse is the natural way to click it. #430 fixed a very similar issue for the pause-screen silencing; this looks like a second, separate silencing path.

Expected Behaviour

Test Vibration should trigger rumble when clicked, regardless of whether the last input was keyboard/mouse. Alternatively, mouse input inside the settings screen should not silence the rumble manager.

Screenshots

No response

Reproduction Steps
  1. Launch with Controlify 3.0.1+lts on Minecraft 1.21.10, connect a rumble-capable controller.
  2. Join a world (or stay in the menu) and use the mouse to open Controlify's controller settings.
  3. Go to Vibration and click "Test Vibration" with the mouse.
  4. Observe: no vibration, and no error in the log.
  5. Press any button on the controller, select "Test Vibration" with the controller and press it -> the controller vibrates.
  6. Move/click the mouse again, then click the button with the mouse -> no vibration again.
Logs

No errors are logged (the mute is silent). Relevant lines only:

[..] [ControllerManager] Controller connected: 'Switch Controller'#SDL-1-HID[VID=0x057e, PID=0x2009] (Switch Controller)

Happy to provide a full log or a debug dump if needed.

Mod Version

3.0.1+lts+1.21.10-fabric (Minecraft 1.21.10, Fabric Loader 0.17.3)

Controller

8BitDo SN30 Pro (Bluetooth, "Switch" mode; SDL identifies it as a Switch Controller, VID 0x057E / PID 0x2009). Rumble works fine via SDL when invoked directly.

Bluetooth
  • Yes
Operating System

Windows

ARM
  • Yes
Additional Information
  • I am on Minecraft 1.21.10 because my modpack is on it; 3.0.1+lts is the newest Controlify build listed for that version. I also confirmed the same input-mode-based rumble muting in the 3.5.3 release source, so this probably affects current versions too.
  • Related reports I checked: #404, #546, #640, #1001. They cover "low amplitude events feel weak / nothing" symptoms, but none mention rumble being muted by keyboard/mouse input, which in my case makes the Test Vibration button unusable when clicked with the mouse.
  • On this specific controller in Switch mode, low-amplitude effects like block breaking are also barely perceptible even at 100% strength (water splash and damage are fine). I saw the reply in #546 about weak motors and increasing the vibration strength - I mainly want to report the keyboard/mouse silencing, which is separate: even strong rumble is dropped after mouse input.
  • No other controller-related mods are installed.
  • This report is based on the unmodified 3.0.1+lts release.
Just to make sure...
  • I have made sure I am using the latest version of Controlify for the latest version of Minecraft.
  • I have made sure there are no other issues describing the same problem on the issue tracker.
Ngôn ngữ chính
Java
Star
355
Fork
106
Merge trung bình
2 ngày 8 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của isXander/Controlify

Tất cả issue của isXander/Controlify

Issue tương tự

Thêm issue về Java

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.