Question: Currently I am using [Recaps](http://www.gooli.org/blog/recaps/) for switching between keyboard layouts. But I am looking for a replacement, because it is a little buggy and not updated for years. Do you know any replacement?

Answer: 
In windows you can set Windows to use Grave Accent (```) for switching between languages or keyboard layouts via a single key press.

If your windows is set to change keyboard layout by `Ctrl`+`Shift` you can use following AutoHotKey script (I strongly recommend using <http://www.autohotkey.com/>) to map them to `Caps Lock`, normal `CapsLock` will be achieved by `Shif`+`CapsLock`

```
SetCapsLockState, AlwaysOff
+CapsLock::CapsLock

CapsLock::Send, {Ctrl down}{Shift down}{Shift up}{Ctrl up}{Ctrl up}
return

```
You can easely (by changing first two lines to:

```
$~CapsLock::LangSwitch(1)
$~CapsLock up::LangSwitch(2)

```

) modify wOxxOm's [Keyboard layout switcher](http://www.autohotkey.com/board/topic/24666-keyboard-layout-switcher/) for using Win+Space instead of right control. And it will work no matter which hotkeys are set up for switching layout in Windows (default is Alt+Shift, I'm using Ctrl+Shift).

Because of non-ahk-native switching (script uses WinAPI), whole script is rather bulky, so I didn't paste it inline. In case of autohotkey.com inaccessibility, here it is: <http://pastebin.com/RayAw1VP>

(again, all credits go to wOxxOm, source script is there: <http://www.autohotkey.com/board/topic/24666-keyboard-layout-switcher/>)

P.S. That script is quite old, and has hardcoded byte-offsets, so I'm not sure if it will work with 64-bit Autohotkey.exe or in 64-bit Windows. I only have 32-bit at hand.

P.P.S. This answer is nearly duplicate to [another](https://superuser.com/a/845654/131936) but questions are also nearly similar.