Skip to content

Conversation

Copy link

Copilot AI commented Jan 27, 2026

Enable a global toggle hotkey to switch per-app vibrance/brightness/contrast/gamma on/off while preserving current default behavior when starting apps. The toggle is optional and must be enabled in settings before hotkey mapping is exposed.

  • Settings persistence
    • Added profile toggle enable + hotkey keys to INI storage, including defaults and parsing.
    • Persisted the current toggle on/off state across sessions.
  • UI and hotkey handling
    • Added settings UI to enable the hotkey and capture key combinations.
    • Registered/unregistered the global hotkey and handled WM_HOTKEY to toggle settings for the active application.
  • Proxy state + toggle behavior
    • Extended vibrance proxy interface and implementations with profile toggle state.
    • Implemented per-app apply/revert logic for vibrance and gamma ramp changes.
  • Event hook gating
    • Updated AMD/NVIDIA hook paths to respect toggle state while allowing Windows fallback behavior.

Example API usage:

_v.SetProfileToggleEnabled(profileToggleEnabled);
_v.SetProfileToggleState(isProfileToggleOn);
_v.ApplyProfileToggle(activeWindowHandle, processName, isProfileToggleOn);
Original prompt

I want a new branch and feature - I want to be able to change the settings like vibrance, ingame brightness, ingame contrast and ingame gamma with a global toggle hotkey that will toggle the settings applied for the current running application, if toggled off everything will go back to default value, if toggled on the profile kicks in again, by default when starting an application it should be on the same as the current behaviour, dont do anything with resolution, so enabling this feature will have to be a tickbox in the settings, if the tickbox is selected an option to map the hotkey will appear, for example users may map it to F12 or alt+c or alt+shift+x etc.

to note for brightness, contrast and gamma to be enabled a never change color settings tickbox has to be unselected - not sure this will change your implementation but good to consider. write good clean code that the repo mainter will want to merge.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Copilot AI and others added 2 commits January 27, 2026 01:00
Co-authored-by: harisonw <87620631+harisonw@users.noreply.github.com>
Co-authored-by: harisonw <87620631+harisonw@users.noreply.github.com>
Copilot AI changed the title [WIP] Add global hotkey for changing in-game settings Add profile toggle settings scaffolding for global hotkey support Jan 27, 2026
Copilot AI requested a review from harisonw January 27, 2026 01:05
@harisonw
Copy link
Owner

@copilot continue until fully complete

Copilot AI and others added 2 commits January 27, 2026 14:17
Co-authored-by: harisonw <87620631+harisonw@users.noreply.github.com>
Co-authored-by: harisonw <87620631+harisonw@users.noreply.github.com>
Copy link
Author

Copilot AI commented Jan 27, 2026

@copilot continue until fully complete

Completed the remaining hotkey toggle feature work (UI, hotkey capture/registration, persisted toggle state, and apply/revert logic) in commit 29ffb6b. Screenshot: https://github.com/user-attachments/assets/59105d72-86c6-4694-9bb2-a48f8de892e0

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Co-authored-by: harisonw <87620631+harisonw@users.noreply.github.com>
Copilot AI changed the title Add profile toggle settings scaffolding for global hotkey support Add global profile toggle hotkey UI and state persistence Jan 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants