Yesterday I wrote down information on the missing desk.cpl (the Display Control Panel applet) and how to change most of the settings through the registry. Today I look at configuring input devices. Left handed admins should read this!
In this post I'll show you how to:
- Change keyboard settings
- Change mouse settings
- Change the cursors
As I mentioned in Changing Server Core's Look and Feel, Part 1 the only two Control Panel applets that are (still) available in Windows Server 2008 Server Core are intl.cpl (Regional and Language Options) and timedate.cpl (Time and Date Options).
You might already suspect changing the keyboard and mouse settings in Server Core will not be as simple as running control main.cpl. Just like in Changing Server Core's Look and Feel, Part 2 we're going to dive into Server Core's registry.
Changing keyboard settings
I know keyboard settings aren't the most exciting settings in a normal Windows installation. They can be of great value in Server Core, because most of the things are done through commands. The following settings can be changed:
Repeat delay and repeat rate
In other versions of Windows the Keyboard Control Panel applet lets you adjust the Repeat delay and the Repeat rate.
The repeat delay setting dictates the amount of time that passes before the system interprets a key you hold down as multiple key strokes. After you release the key the repeat delay gets reset. The repeat delay setting for the currently logged on user can be found in the following registry value:
- HKEY_CURRENT_USER\Control Panel\Keyboard\KeyboardDelay
You can change the value to indicate the amount of time. Typical values are "0" (for short) through "3" (for long). The original setting on my Server Core box was "1".
The repeat rate setting tells the system how fast to repeat keys after the repeat delay has been overcome. This setting for the currently logged on user is stored in:
- HKEY_CURRENT_USER\Control Panel\Keyboard\KeyboardSpeed
I found the KeyboardSpeed on my Server Core installation was set to "31", which is the fastest repeat rate you can set through the Control Panel applet (if one should have been available…). If you set it to "0" you transform your keyboard into a tortoise. If you change the value to "80" your keyboard will be the proverbial hare.
If you want to change the settings for new users you can change the settings in the corresponding HKEY_USERS\.Default keys.
Cursor blink rate
The cursor blink rate is the amount of time (in milliseconds) between two blinks of the cursor. I know a lot of people look at the blink rate to see whether their system is still responsive, so this might be a setting of interest. The setting is located at:
- HKEY_CURRENT_USER\Control Panel\Desktop\CursorBlinkRate
You can set any (decimal) value you'd like, although I only recommend a value smaller than 200 if you're a serious caffeine addict. Specifying a value of "-1" disables the blinking , which would be a good setting if you're not really bothered what your system is doing with your commands.
One of the keyboard settings you can't change through the Keyboard Control Panel applet (if you'd have one) is the way your num-lock behaves after starting the machine. (most computers have a BIOS setting for this nowadays anyway)
You can change this setting be changing the value for:
- HKEY_CURRENT_USER\Control Panel\Keyboard\InitialKeyboardIndicators
The value can be "0",which it is by default and means Off and "2", which means On.
The keyboard lay-out was covered in Changing Server Core's Look and Feel, Part 1. (You can use intl.cpl to change the keyboard lay-out.)
Changing mouse settings
Just like you can change keyboard settings through the registry you can also change the mouse settings.
Left handed vs. Right handed
A study long ago found 8 to 15 percent of people were left handed. Microsoft very kindly provided us with a comfortable way to swap the left and right mouse buttons through the Control Panel, which in Server Core means you can change the following Registry value:
- HKEY_CURRENT_USER\Control Panel\Mouse\MouseSwapButtons
To change this graphically you'd actually have to open regedt32 and click a dozen times before you'd actually change it and log off and log on again.
There has to be an easier way, right? Right. I found two ways to swap the mouse buttons without having to click a single time:
The first way is by using reg.exe to change the value of the registry key on the command line without needing to open regedit.exe or regedt32.exe. Just type the following commands:
reg add HKCU\Control Panel\Mouse /v SwapMouseButtons /d 1 /f
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True
The most relaxed way to toggle the mouse buttons I could find is:
This works without a log off and works on Windows 2000, Windows XP and Windows Server 2003 as well…
Mouse Speed and Sensitivity
Three settings specify the mouse speed and sensitivity. You can find them in the registry in the following values:
- HKEY_CURRENT_USER\Control Panel\Mouse\MouseSpeed
- HKEY_CURRENT_USER\Control Panel\Mouse\MouseTreshold1
- HKEY_CURRENT_USER\Control Panel\Mouse\MouseTreshold2
There's a very useful page on Microsoft TechNet that explains these three settings.
Double Click settings
There's no real need to change the double click settings of your mouse, because there's nothing much to double click on in Windows Server 2008 Server Core, unless you're using the Open/Save commands in notepad.exe a lot. You can change them however by editing the following registry values:
- HKEY_CURRENT_USER\Control Panel\Mouse\DoubleClickSpeed
- HKEY_CURRENT_USER\Control Panel\Mouse\DoubleClickHeight
- HKEY_CURRENT_USER\Control Panel\Mouse\DoubleClickWidth
I really don't see any reason for explaining these settings. Again a Microsoft TechNet page shows you sensible values.
It's hard to keep track of your mouse sometimes, especially if you make it go really fast by editing the mouse speed and sensitivity settings. The MouseTrail setting is helpful when this happens to you frequently:
- HKEY_CURRENT_USER\Control Panel\Mouse\MouseTrails
Changing the value from "0" to "1" enables the MouseTrails effect, which basically is a mouse ghosting effect so it's easier to distinguish the mouse path.
Scroll wheel behavior
If you're lucky enough to have a mouse with a scroll wheel on it you can actually change the default settings for the scroll wheel behavior. By default the scroll wheel will scroll three lines at every 'click' of your scroll wheel. This setting is stored in:
- HKEY_CURRENT_USER\Control Panel\Desktop\WheelScrollLines
The setting reflects Windows' default behavior of scrolling three lines at once. You can change it to "1" (this value is in a decimal format) to scroll one line at a time. Setting it to "0" will disable scrolling lines when touching the wheel.
Changing the cursors
Changing the cursor in Windows Server 2008 Server Core isn't possible. The registry values, the cursor folder (%systemroot%\cursors) and cursor files (*.cur) are missing. The cursor that you see is the default cursor for Windows.
Changing the values for your keyboard and mouse definitely changes the look and feel of your Server Core box. Setting high MouseSpeed and RepeatSpeed settings typically make users feel their computer are faster than before. Why shouldn't you indulge as well?
You're out of luck if you're looking to change the cursor in Windows Server 2008 Server Core. I guess the Graphical User Interface is strictly there for a technological reason, not just as a facade.
Join me in Part 4 of this series where I show you how to really 'pimp' your Server Core installation.
Changing Server Core's Look and Feel, Part 1
Changing Server Core's Look and Feel, Part 2
Left-handed (from Wikipedia, the free encyclopedia)
Enabling the third button on your Logitech mouse in the registry
Dx21's RunDLL Reference
What can the REG.EXE command do in Windows?
Disclaimer Beta Software
The information on this webpage applies to software from Microsoft that was in testing phase but utilizable by experienced users by the time the webpage was written. This software has not been released for sale, distribution or usage for the general public. The information on this webpage and the beta software are provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose.