implement SPI_GET/SETSTICKYKEYS, SPI_GET/SETFILTERKEYS, SPI_GET/SETTOGGLEKEYS, SPI_GE...
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Thu, 22 May 2008 14:51:01 +0000 (14:51 +0000)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Thu, 22 May 2008 14:51:01 +0000 (14:51 +0000)
makes access.cpl start again.
See issue #3133 for more details.

svn path=/trunk/; revision=33640

reactos/subsystems/win32/win32k/ntuser/sysparams.c

index 7a9e672..23b998a 100644 (file)
@@ -65,6 +65,14 @@ IntSystemParametersInfo(
    static UINT FocusBorderHeight = 1;
    static UINT FocusBorderWidth = 1;
    static ANIMATIONINFO anim;
+   static STICKYKEYS StickyKeys = {sizeof(STICKYKEYS), 0x1fa};
+   static FILTERKEYS FilterKeys = {sizeof(FILTERKEYS), 0, 0, 0, 0, 0};
+   static TOGGLEKEYS ToggleKeys = {sizeof(TOGGLEKEYS), 0};
+   static MOUSEKEYS MouseKeys = {sizeof(MOUSEKEYS), 0, 0, 0, 0, 0, 0};
+   static BOOL KeyboardPref = FALSE;
+   static BOOL ShowSounds = FALSE;
+   static ACCESSTIMEOUT AccessTimeout = {sizeof(ACCESSTIMEOUT), 0, 0};
+   static SERIALKEYS SerialKeys = {sizeof(SERIALKEYS), 0, 0, 0, 0, 0, 0};
 
    if (!bInitialized)
    {
@@ -590,6 +598,94 @@ IntSystemParametersInfo(
             bChanged = TRUE;
             break;
          }
+      case SPI_GETSTICKYKEYS:
+         {
+            *((STICKYKEYS*)pvParam) = StickyKeys;
+            break;
+         }
+      case SPI_SETSTICKYKEYS:
+         {
+            StickyKeys = *((STICKYKEYS*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETFILTERKEYS:
+         {
+            *((FILTERKEYS*)pvParam) = FilterKeys;
+            break;
+         }
+      case SPI_SETFILTERKEYS:
+         {
+            FilterKeys = *((FILTERKEYS*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETTOGGLEKEYS:
+         {
+            *((TOGGLEKEYS*)pvParam) = ToggleKeys;
+            break;
+         }
+      case SPI_SETTOGGLEKEYS:
+         {
+            ToggleKeys = *((TOGGLEKEYS*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETSERIALKEYS:
+         {
+            *((SERIALKEYS*)pvParam) = SerialKeys;
+            break;
+         }
+      case SPI_SETSERIALKEYS:
+         {
+            SerialKeys = *((SERIALKEYS*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETMOUSEKEYS:
+         {
+            *((MOUSEKEYS*)pvParam) = MouseKeys;
+            break;
+         }
+      case SPI_SETMOUSEKEYS:
+         {
+            MouseKeys = *((MOUSEKEYS*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETKEYBOARDPREF:
+         {
+            *((BOOL*)pvParam) = KeyboardPref;
+            break;
+         }
+      case SPI_SETKEYBOARDPREF:
+         {
+            KeyboardPref = (BOOL)uiParam;
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETSHOWSOUNDS:
+         {
+            *((BOOL*)pvParam) = ShowSounds;
+            break;
+         }
+      case SPI_SETSHOWSOUNDS:
+         {
+            ShowSounds = (BOOL)uiParam;
+            bChanged = TRUE;
+            break;
+         }
+      case SPI_GETACCESSTIMEOUT:
+         {
+            *((ACCESSTIMEOUT*)pvParam) = AccessTimeout;
+            break;
+         }
+      case SPI_SETACCESSTIMEOUT:
+         {
+            AccessTimeout = *((ACCESSTIMEOUT*)pvParam);
+            bChanged = TRUE;
+            break;
+         }
 
       default:
          {