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

Add Razer Basilisk Ultimate mouse and Razer Mouse Dock support #1152

Closed
wants to merge 10 commits into from

Conversation

Arilas
Copy link
Contributor

@Arilas Arilas commented May 19, 2020

What is made for Razer Basilisk Ultimate:

  • set/get DPI/polling rate
  • set/get logo/wheel/left side/right side brightness/effect
  • get battery level, is charging status

What is made for Razer Mouse Dock:

  • set brightness
  • set effect
  • get brightness (doesn't work)

Additional changes:

  1. BatteryNotifier doesn't spam about battery level every 10 minutes, instead, it shows it when charge level is changed by 10% or charging status is changed
  2. Notifications about charge have correct icons and are have battery level information on second line.

@nightsky30
Copy link
Contributor

nightsky30 commented May 20, 2020

Looks like this device has 14 LEDs, wireless capability, and perhaps left and right LED zones. If you're interested, you may be able to get the rest of the functionality working by taking a look at what was done for the Lancehead Wireless and setting the matrix dims to [1, 14].

Edit: Also with regard to the left/right side LEDs; the stable version of Polychromatic won't show options for those even if you add them to the device in openrazer. That should be added in the future. I think RazerGenie is currently displaying the left/right zones.

@Arilas
Copy link
Contributor Author

Arilas commented May 20, 2020

@nightsky30 I updated this PR:

  1. added support for all 14 LEDs, but left/right zones effects are not working(It's looks like it uses a different approach than other mouses),
  2. added support for wireless mode
  3. added support for charging stand as an accessory (right now just basic copy-and-paste).
  4. battery status, etc

Also I used some code from Basilik V2 to enable wheel tilt.

I will try to experiment more with the left/right zone, but I'm not sure that I will make it work.

@nightsky30
Copy link
Contributor

nightsky30 commented May 20, 2020

  1. added support for wireless mode
  2. added support for charging stand as an accessory (right now just basic copy-and-paste).
  3. battery status, etc

Also I used some code from Basilik V2 to enable wheel tilt.

Great stuff!!! 😄

  1. added support for all 14 LEDs, but left/right zones effects are not working(It's looks like it uses a different approach than other mouses),
    I will try to experiment more with the left/right zone, but I'm not sure that I will make it work.

Also, the stable 0.8.1 version of RazerGenie won't expose the left/right zones either. Sorry, I should have been more specific 🤦 RazerGenie master branch is exposing them. I just built and verified with my Lancehead by running ./build_dir/src/razergenie after building (I could not get it to install).

Not sure what version you tried. If that doesn't work, like you said, it is also very possible the mouse is handled differently.

@Arilas
Copy link
Contributor Author

Arilas commented May 22, 2020

Update on this PR:

  1. Razer Mouse Dock.
    What works:
  • set brightness
  • set effects
    Doesn't work get brightness. Standard methods like razer_chroma_extended_matrix_get_brightness, razer_chroma_standard_get_led_brightness, etc doesn't work (Tried ZERO_LED and other identifiers). What I see in logs, is that device errors with RAZER_CMD_FAILURE. It seems that there's a problem with it.
    Also, I don't have a pic for this device to put inside accessory.py
  1. Razer Basilisk Ultimate Dongle/Wired:
    What works:
  • get/set brightness for logo/wheel
  • set effects for logo/wheel
  • get charge level/dpi/polling/etc
  • left/right side effects

Doesn't work:

  • Sometimes BatteryManager doesn't work like expected, so I'm thinking to disable it for this mice.

Screenshot of working parameters in new Polychromatic:

@Arilas
Copy link
Contributor Author

Arilas commented May 22, 2020

Also changed BatteryNotifications to not spam every 10 minutes and display it only when the charge level is dropped/increased by 10% and/or charging started/ended.

I also added corresponding icons for this.

Imgur

@Arilas Arilas marked this pull request as draft May 25, 2020 09:46
@Arilas Arilas changed the title Add basic support for Razer Basilisk Ultimate mice Add Razer Basilisk Ultimate mouse and Razer Mouse Dock support May 25, 2020
@mvplueg
Copy link

mvplueg commented Jun 13, 2020

Arilas, are you still working on this?

@hawkinsonb
Copy link

hawkinsonb commented Jun 18, 2020

@Arilas If this is currently stale, I'd like to take a crack at finishing this. I too am in need of this.

@ericvinicius
Copy link

any news with this PR?

@rahitsalas
Copy link

Need to open a new issue for request support for these devices? Basilisk Ultimate Wired, Wireless, Dock? or not necesary @Arilas are you still working on this?

@sammy1881
Copy link

sammy1881 commented Jul 22, 2020

I got the Razer Basilisk Ultimate with the dock and my product ID doesn't match with yours. Do you mind adding this to your commit?

lsusb | grep '1532:'
Bus 001 Device 008: ID 1532:007e Razer USA, Ltd
Bus 001 Device 011: ID 1532:0088 Razer USA, Ltd

Appreciate it.

Cheers!

Edit: Nevermind, looks like it 0086 in wired mode and 0088 and wireless.

@Arilas
Copy link
Contributor Author

Arilas commented Jul 31, 2020

@hawkinsonb Right now I don't have time to finish this PR. What is not ready:

  1. Getting current brightness from Mouse Dock
  2. Code style fixes
  3. Tests

Everything else is working. But please note that this PR contains changes to BatteryNotifier, which I made for myself, to limit unrelated spam of notifications regarding the current battery level, and also to detect the charge status of the device.

@aaronjensen
Copy link

I'd like to help finish this off, but when I installed this after rebasing on master and rebooted my basilisk no longer worked at all. Reverting to the daily build fixed it. Any idea what could have caused that?

@slogar32
Copy link

Hey @Arilas! Great work on this. Hope you manage to finish this PR!

@JohnOberhauser
Copy link

@Arilas do you plan to finish this PR?

@JohnOberhauser
Copy link

I'd like to help finish this off, but when I installed this after rebasing on master and rebooted my basilisk no longer worked at all. Reverting to the daily build fixed it. Any idea what could have caused that?

@aaronjensen I'm working through this now. I had the same issue. My driver wasn't binding the device. The razer_mount script was unbinding from hid-generic but then failed to bind to razermouse and razeraccessory. Turns out, my install wasn't completely working because the version was the same as the previous version. I forget what the actual error was during install. Something about dkms maybe. Anyways, I got it working by changing everywhere in the codebase where it says 2.8.0 to 2.8.1. It seems like everything is working except the side lights on the mouse. I'm going to try to figure that out, then maybe open a new PR.

@nightsky30
Copy link
Contributor

nightsky30 commented Nov 4, 2020

I'd like to help finish this off, but when I installed this after rebasing on master and rebooted my basilisk no longer worked at all. Reverting to the daily build fixed it. Any idea what could have caused that?

@aaronjensen I'm working through this now. I had the same issue. My driver wasn't binding the device. The razer_mount script was unbinding from hid-generic but then failed to bind to razermouse and razeraccessory. Turns out, my install wasn't completely working because the version was the same as the previous version. I forget what the actual error was during install. Something about dkms maybe. Anyways, I got it working by changing everywhere in the codebase where it says 2.8.0 to 2.8.1. It seems like everything is working except the side lights on the mouse. I'm going to try to figure that out, then maybe open a new PR.

@JohnOberhauser Building and using the master branch of RazerGenie, should expose control of the side LEDs. The current stable release of RazerGenie does not support it. That should get you moving. :)

@kmasaryk
Copy link

2.9.0 is working much better with the Viper Ultimate Wireless now; However, the mouse dock still isn't recognized. I'm mentioning this here since the Basilisk Ultimate Wireless uses the same exact hardware dock as the Viper. Since it sounds like the dock is working for the Basilisk now, is anyone working on applying that code to the Viper?

@nightsky30
Copy link
Contributor

nightsky30 commented Nov 28, 2020

@kmasaryk Looks like it's working well in #1321. The dock is added in the accessory driver, so if you use that branch it should start working for you. Though that branch might not be up to date with / include all the 2.9.0 viper changes.

@kmasaryk
Copy link

Thanks @nightsky30 I'll probably wait until it gets pulled into the master branch to update since the mouse itself is working fine for now and I don't want to bother with building everything manually.

@z3ntu
Copy link
Member

z3ntu commented Dec 27, 2020

Closing in favor of #1321

@z3ntu z3ntu closed this Dec 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet