Profile support and documentation updates#130
Profile support and documentation updates#130035059 wants to merge 2 commits intoFreeSpacenav:masterfrom
Conversation
|
Very nice, thanks! I'll try to find some time to review this fully in the next couple of days. I have one comment from a very superficial first look through the diff. You chose to make profile overrides in the form This would allow the parser to just have a bunch of If we really like the dot notation and want to keep that, a similar approach, though slightly more complicated could be used. If the name contains a dot, switch the cfg pointer to the appropriate config block for whatever name is before the dot, move the "line" pointer after the dot, and leave the rest of the parsing untouched. Then the pointer to the global config should be restored at the top of the loop again. For the override to actually happen, I didn't look hard enough at that part of your implementation yet. The first thing that crosses my mind is some sort of bitfield describing which options are valid, but you may have come up with something better, I'll know when I take a proper look. Again I only took a very superficial look at the diff, so if you did something like what I'm describing and I just entirely failed to realize it, I apologize. Let me know what you think. |
|
I had a second look at these changes, sorry it took a while to get around to it. I like the implementation, but I think there's a conceptual "mistake" in this. Profiles can't be global, they have to be client-specific. When the user opens 3 different applications which use 6dof input, they can't all be handled by the profile of the last one to launch. Each application needs to have its own profile active. So basically profiles need to go into the client structure, they can't be global. |
|
I think I'll close this pull request, because the changes are going to have to be fundamental, not simple tweaks. If you find the time and motivation to take a second stab at it, feel free to open a new pull request. But also keep in mind my comments about simplifying the config parser as well. |
|
hmmm I gave it some more thought, and I think I might still want to merge some version of this. In any case being able to have overrides for each application that would ideally be activated automatically is one thing, and needs to be per-client. But the notion of being able to have multiple global settings and the ability to switch between them is also valuable. I'm reopening the pull request to re-examine how close it is to the second use case. I think just dropping the attempt to switch profiles automatically should be sufficient... |
Adds profile support, plus updates documentation for multi-key button bindings previously merged in #127.