Coder Social home page Coder Social logo

Comments (12)

cvuchener avatar cvuchener commented on June 28, 2024

From my G500

02 00 01
ff ...

From floe's G700s

02 00 01
03 00 03
04 00 07
05 00 06
06 00 04
ff ...

How a profile is removed? By replacing the values with ff?

from libratbag.

phomes avatar phomes commented on June 28, 2024

When a profile is disabled it is simply not in the list e.g. with profile 3 disabled:
02 00 01
03 00 03
05 00 06
06 00 04
FF FF

from libratbag.

cvuchener avatar cvuchener commented on June 28, 2024

I tried writing the same data on my G500.
Writing to 0x0f with zero parameters (or immediately after writing page 1), does not load the profile from page 2 but the factory default profile, and reading 0x0f gives ff 00 00. But when the mouse is plugged, the profile from page 2 is correctly loaded.
Switching to a profile from a memory page still does not change the output of 0x0f.

from libratbag.

cvuchener avatar cvuchener commented on June 28, 2024

I plugged the mouse with

02 00 01
03 00 03
04 00 07
ff ...

in memory on a computer with LGS. LGS actually read this just after the profile (I must have missed it before).
It then rewrite the page with

02 00 01
ff ff ff
04 00 07
ff ...

from libratbag.

bentiss avatar bentiss commented on June 28, 2024

For @phomes questions:

Do we want to support enabling/disabling of profiles from libratbag?
Probably (in the same way that we should support enabling/disabling resolutions within a profile).
Which means that the ratbag_device returns the max number of supported profiles, but some will be disabled.

Should ratbag-command show info for disabled profiles?
I don't think so (like we do for resolutions: just print a "" and return)

from libratbag.

phomes avatar phomes commented on June 28, 2024

@bentiss and we hope that we can read the max number of profiles from somewhere on the mouse, right?

Since the list in page 1 shows in which pages the profiles are stored I suppose we then need to be keep track of memory use on the mouse. I mean, since they care to keep a list of pages where each profile is stored then that must mean that the locations are not just hardcoded.

from libratbag.

cvuchener avatar cvuchener commented on June 28, 2024

Did you check how this data affects the behaviour of the 0x0f command?

from libratbag.

bentiss avatar bentiss commented on June 28, 2024

@phomes yes, I hope that this value is encoded somewhere in the hardware or is a constant across all devices that have this particular capability.

And yes, we should probably keep track of the profile/page association

from libratbag.

whot avatar whot commented on June 28, 2024

took benjamin's patch for this and extended it further into some basic code:
https://github.com/whot/libratbag/tree/wip/hidpp10-profile-directory
this is really just parsing the 3-byte directory tree (benjamin - where did the led_mask bit come from?) and handling it, but it's a start. At least it removes a bunch of odd g500s bits I sprinkled all over the place.

from libratbag.

cvuchener avatar cvuchener commented on June 28, 2024

I don't know if Benjamin has another source. But I made a guess (just a guess not tested) about the LEDs from the G700s data in #22 (is there a way to link specific messages?).

from libratbag.

whot avatar whot commented on June 28, 2024

good question. The timestamp is the link to a specific message, but I don't know if there's a shortcut for it.
And thanks, I thought that led_mask came from @bentiss, I didn't realise you figured that one out. We don't have any documentation for this yet, so your guess is as good as ours - let's go with until we know otherwise.

from libratbag.

bentiss avatar bentiss commented on June 28, 2024

Yes, the led_mask credits are going to @cvuchener.
It might also be used as an extra way to identify which profile is which in the UI. Given that you remove the profile from the list, you need to know which page corresponds to which profile not to have the profiles being moved around in the UI.

And thanks both of you (@phomes and @cvuchener) for figuring out the profile directly. There are mentions of it in the HID++ 1.0 doc, but we don't currently have any device-specific documentation that could have helped us understood where the directory is and what it looks like.

from libratbag.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.