title: Override Caps Lock with Ctrl using C#
body: <p>I'm writing (<em>yet another</em>, I know) keyboard remapper using C# and Visual Studio 2008.</p>
  
  <p>I followed <a href="http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx" rel="nofollow noreferrer">this guide</a> to learn how to snap up low-level key presses. This works just fine for overriding e.g. normal alphabetical characters on my keyboard, but I seem to need a bit more to make <kbd>Caps Lock</kbd> act like <kbd>Ctrl</kbd>.</p>
  
  <p>My understanding (which may be incorrect) is that <kbd>Caps Lock</kbd> and <kbd>Ctrl</kbd> are handled completely different from one another since <kbd>Caps Lock</kbd> is a toggling key whereas <kbd>Ctrl</kbd> is just a "normal" one.</p>
  
  <p>So what I'm trying to understand here is how to make <kbd>Caps Lock</kbd> behave like a <kbd>Ctrl</kbd> key on the very lowest level and also how to make the normal <kbd>Ctrl</kbd> key act like a <kbd>Caps Lock</kbd> key.</p>
  
  <p>Thanks</p>