[STOBJECT][NTUSER][ACCESS] Don't use a systray timer when not needed (#7917)

This commit is contained in:
Whindmar Saksit 2025-04-24 21:27:36 +02:00 committed by GitHub
parent 78e04c07b8
commit 7eb8535edf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 124 additions and 36 deletions

View file

@ -101,6 +101,11 @@ static const WCHAR* KEY_KDBPREF = L"Control Panel\\Accessibility\\Keyboard Prefe
static const WCHAR* KEY_SCRREAD = L"Control Panel\\Accessibility\\Blind Access";
static const WCHAR* VAL_ON = L"On";
static const WCHAR* KEY_MOUSEKEYS = L"Control Panel\\Accessibility\\MouseKeys";
static const WCHAR* VAL_MOUSEKEYS_FLAGS = L"Flags";
static const WCHAR* VAL_MOUSEKEYS_MAX = L"MaximumSpeed";
static const WCHAR* VAL_MOUSEKEYS_TIMETOMAX = L"TimeToMaximumSpeed";
/** Loading the settings ******************************************************/
static
@ -336,6 +341,10 @@ SpiUpdatePerUserSystemParameters(VOID)
gspv.filterkeys.cbSize = sizeof(FILTERKEYS);
gspv.togglekeys.cbSize = sizeof(TOGGLEKEYS);
gspv.mousekeys.cbSize = sizeof(MOUSEKEYS);
gspv.mousekeys.dwFlags = SpiLoadInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_FLAGS, 62);
gspv.mousekeys.iMaxSpeed = SpiLoadInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_MAX, 80);
gspv.mousekeys.iTimeToMaxSpeed = SpiLoadInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_TIMETOMAX, 3000);
gspv.mousekeys.iCtrlSpeed = 8; // FIXME
gspv.stickykeys.cbSize = sizeof(STICKYKEYS);
gspv.serialkeys.cbSize = sizeof(SERIALKEYS);
gspv.soundsentry.cbSize = sizeof(SOUNDSENTRYW);
@ -1197,7 +1206,9 @@ SpiGetSet(UINT uiAction, UINT uiParam, PVOID pvParam, FLONG fl)
if (fl & SPIF_UPDATEINIFILE)
{
// FIXME: What to do?
SpiStoreSzInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_FLAGS, gspv.mousekeys.dwFlags);
SpiStoreSzInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_MAX, gspv.mousekeys.iMaxSpeed);
SpiStoreSzInt(KEY_MOUSEKEYS, VAL_MOUSEKEYS_TIMETOMAX, gspv.mousekeys.iTimeToMaxSpeed);
}
return (UINT_PTR)KEY_DESKTOP;
}