antonpup / Aurora

Unified lighting effects across multiple brands and various games.
http://www.project-aurora.com/
MIT License
1.83k stars 366 forks source link

Enhancements: New Lock Layers | Thoughts/Issues for profiles & Modded games. (Also Minecraft) #1179

Open daephx opened 6 years ago

daephx commented 6 years ago

Sorry If I strayed from the issue template! Might end up rambling a bit.

Lock Layers for WinKey and Volume Mute Key

First is pretty simple, It would be nice to have a Lock color layer for both the WinLock key and especially mute volume key. The former doesn't matter as much to me but the latter I use heavily so it's nice to take a glance and notice it being "Red" for "muted".

Game Support: Minecraft / Issues with Identification.

  1. Support for Minecraft perhaps? I'm not sure if there's any sort of data or API for dynamic effect, (At least natively, but could see it being possible with patches/mods)

  2. An issue I ran into was that I have two applications that use "javaw" Process/Binary and If I flop between them the same profile is applied. (e.g. The offending application being "JDownloader").

Which is kinda out of place for my background layers. Just some fun theming (Haven't added keybindings yet)...

(Keyboard type: Corsair K70)

20180718_015802 Assuming someone could do this with a mod, If there was dynamic color layers I could imagine.

  1. Red spanning function keys or "Z-ForwardSlash" for the amount of hearts!
  2. Red flash for damage and death screen.

Though those two might conflict making taking damage hard to see your hearts, hmm...

  1. not sure where to put the EXP bar if it was available, "Z-ForwardSlash", (alt. numpad1-9)
  2. Potion/Status effects. fun idea but might be tough to make look good.

    Alright, I digress.

    Process ID/Name in place of binary executable.

    Would it be possible to utilize custom profiles according to process names/id as opposed to a hard set .exe's? Much like "Borderless Gaming" which I believe also can make use of regular expression but I have it set to search for "Minecraft" in the process title separating it from the "javaw" process which would solve my Identification issue but I still have a problem regarding modded instances of games, which on there own don't modify the process title.

Modded Game Instances

This is pretty niche but I can't think of a way to deal with this honestly, any potential solution would be greatly appreciated. I'm not sure how the profiles really work either but I expect to have more than 2or3 separate configurations for each game so hotkeys or cycling through profiles doesn't seem ideal. I desire multiple profiles per version/Instance of a game, whilst keeping the original/vanilla version intact. (Seeing as modded games can implement a large number of extra hotkeys).

The process ID method might make this tougher unless there's an ability to customize the title of the window, with my limited knowledge I kind of doubt, seems like something that's done before compiling. But shortcuts are also iffy and not much of a better solution, given my configuration at least.

For example, I run Minecraft through "MultiMC" for specific profiles much like "Mod Organizer" These games are launched through instance/profile arguments in the mod clients shortcut roughly being... {path/to/binary -i "<InstanceName>"} Good for different mod configurations or running separate versions of the games but If I used that shortcut in conjunction with Aurora it would only work with the mod client and not the game the client is calling upon.

Also...

  1. Custom Icons for profiles! would be nice, Though a workaround I can see is just modifying the icon of a shortcut prior to importing.
  2. The ability to copy layers between profiles! save some time. I haavn't messed with it but I can guess copying parts of a config file might serve as a work around for that.

(Can't confirm either workaround ideas, lazy)


Thank you for your time, Hope I made sense and thanks for hearing me out. <3
Again just some thoughts and issues with MY setup, I absolutely love the software!

simon-wh commented 6 years ago

Lock Layers for WinKey and Volume Mute Key

Afaik the os doesn't get prompted when the Windows lock key is pressed (as it is an internal keyboard thing), you should be able to get the Volume Mute key working as that is sent to the os, using the Key Toggle layer that was added with PR #1139

Game Support: Minecraft / Issues with Identification.

Support for Minecraft has come up before, it'd require a mod, I believe SteelSeries has a mod that they use, but if I was doing it I'd replicate a GSI setup, similar to how CS:GO and Dota work. Currently, game support is not a priority of mine as I'm going to be away for a bit and the time I do have will be spent on the rewrite. See #334 for the open Minecraft issue.

Process ID/Name in place of binary executable.

I'm not sure what you mean by process id, because if you're talking about the actual process id, it is a number assigned to the process which has no correlation with what it is. For using the Process Name, that could work and wouldn't be a bad alternative if it was able to use Regex to compare, however, for the current version of Aurora it'd be difficult to modify it for it to work. However, I'll consider it for the rewrite

Modded Game Instances

Logic for layers, profiles and applications are going to be a big thing I'm going to focus on with the rewrite. In theory, if the mod that was sending game information to Aurora had access to that instance id it could include it and you could use that with logic to activate particular profiles when instance id = x.

Also...

Custom Icon could probably be done with the current version, but like I said before, I'm going to be focusing on the rewrite so extra features for the existing version aren't a priority. I'll look at it for the rewrite though.

You should be able to copy layers between profiles, it's something I implemented a long time ago and haven't tested in a while, but it should work, you might just need to make sure the mouse is inside the layer selector when you're doing it (can't remember exactly how it worked and I don't have time to look at the code). Let me know how you get on with that.

daephx commented 6 years ago

Regarding the final point, (Copy Layers) Having the layer selected and shortcut Ctrl+C & V worked.

Wibble199 commented 6 years ago

Minecraft support has now been added by #1213.