Turn Off StickyKeys Etcetera in Group Policy

article #604, updated 4207 days ago

Lots of different methods and recommendations out there on the WWW for this. Here are two which appear to work, especially when used at the same time.

First, a VBS which has to be run from a group policy set to loopback mode:

''''''''''''''''''''
' Disable StickyKeys, Filter Keys, and ToggleKeys
''''''''''''''''''''
On Error Resume Next
Set ObjShell = Wscript.CreateObject("Wscript.Shell")
RegKey = "HKCU\Control Panel\Accessibility\"
ObjShell.RegWrite RegKey & "StickyKeys\Flags", "0", "REG_SZ"
ObjShell.RegWrite RegKey & "Keyboard Response\Flags", "0", "REG_SZ"
ObjShell.RegWrite RegKey & "ToggleKeys\Flags", "0", "REG_SZ"
ObjShell.RegDelete RegKey & "Keyboard Response\Last BounceKey Setting"
ObjShell.RegDelete RegKey & "Keyboard Response\Last Valid Delay"
ObjShell.RegDelete RegKey & "Keyboard Response\Last Valid Repeat"
ObjShell.RegDelete RegKey & "Keyboard Response\Last Valid Wait"
Set ObjShell = Nothing 

And second, an ADM file which can import as a new administrative template into a group policy. It goes in automatically as a user-mode policy:

CLASS MACHINE
CLASS USER
CATEGORY "Control Panel"
CATEGORY "Accessibility Lockdown"
KEYNAME "Software\Policies\Accessibility"
POLICY "Automatic Reset"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "TimeoutConfig"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\Timeout"
VALUENAME "Flags"
VALUE "3"
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\Timeout"
VALUENAME "Flags"
VALUE "2"
END ACTIONLISTOFF
PART "Timeout after idle for" DROPDOWNLIST
REQUIRED
KEYNAME "Control Panel\Accessibility\Timeout"
VALUENAME "TimeToWait"
ITEMLIST
NAME "5 minutes"
VALUE "300000"
NAME "10 minutes"
VALUE "600000"
NAME "15 minutes"
VALUE "900000"
NAME "20 minutes"
VALUE "1200000"
NAME "25 minutes"
VALUE "1500000"
NAME "30 minutes"
VALUE "1800000"
END ITEMLIST
END PART
END POLICY
POLICY "Disable StickyKeys (including shortcut)"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "StickyKeysLockdown"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\StickyKeys"
VALUENAME "Flags"
VALUE "506"
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\StickyKeys"
VALUENAME "Flags"
VALUE "510"
END ACTIONLISTOFF
END POLICY
POLICY "Disable FilterKeys (including shortcut)"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "FilterKeysLockdown"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\Keyboard Response"
VALUENAME "Flags"
VALUE "122"
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\Keyboard Response"
VALUENAME "Flags"
VALUE "126"
END ACTIONLISTOFF
END POLICY
POLICY "Disable ToggleKeys (including shortcut)"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "ToggleKeysLockdown"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\ToggleKeys"
VALUENAME "Flags"
VALUE "58"
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\ToggleKeys"
VALUENAME "Flags"
VALUE "62"
END ACTIONLISTOFF
END POLICY
POLICY "Disable High Contrast (including shortcut)"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "HighContrastLockdown"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\HighContrast"
VALUENAME "Flags"
VALUE "122"
VALUENAME "Pre-High Contrast Scheme"
VALUE ""
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\HighContrast"
VALUENAME "Flags"
VALUE "126"
END ACTIONLISTOFF
END POLICY
POLICY "Disable MouseKeys (including shortcut)"
KEYNAME "Software\Policies\Accessibility"
VALUENAME "MouseKeysLockdown"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
ACTIONLISTON
KEYNAME "Control Panel\Accessibility\MouseKeys"
VALUENAME "Flags"
VALUE "58"
END ACTIONLISTON
ACTIONLISTOFF
KEYNAME "Control Panel\Accessibility\MouseKeys"
VALUENAME "Flags"
VALUE "62"
END ACTIONLISTOFF
END POLICY
END CATEGORY
END CATEGORY

Categories: