Windows – Exclude an input language from Alt+Shift switching cycle on Windows 10

input-languageskeyboardkeyboard shortcutswindows 10

I have three languages on my system: English, Russian and Japanese. But I only want to be able to Alt+Shift between English and Russian. Is there a way to do it on Windows 10?

This question doesn't apply here, because it doesn't work on Windows 10.

Best Answer

Follow this steps:

  1. Install AutoHotkey.
  2. Create a text file and paste the following text:
; This scripts changes the functionality of Shift + Alt from "switch keyboard layout"
; to "change to previous layout".
; this is usefull when you have more than 2 keyboard layouts and want to switch between 
; only 2 of them.

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

LAlt & LShift::send, #^{space down}{space up}
  1. Save and rename the file with .ahk extension (e.g. "Exclude Extra Keyboard Layouts.ahk")
  2. Double click to run the script. Now Alt+Shift should switch only between the first two keyboard layouts.

If you are satisfied you can compile the script (right click -> compile) to create the .exe file. then move the .exe or .ahk file to the start-up folder (open RUN and type "shell:startup" without quotes).

Extra Notes:

  • If you copy the .exe file you don't need AutoHotkey anymore so you can uninstall it.
  • If you copy the .ahk script file you must not uninstall AutoHotkey.
  • This post solves a somewhat similar problem, helped to come up with the idea.
Related Question