The small CLI utility that skips one or few keyboard layouts on Windows. In while loop utility checks if current keyboard layout is in list and then it skips it. For example: you have Russian, English and Japanese keyboard layouts. You don't need the English layout but you can't remove it (because you want to keep the English language). So you can use this utility in order to skip the English layout when you press SHIFT+ALT.
In order to install you need:
- git [optional]
- cmake [optional]
- C++ compiler with at least C++11 standart.
Open cmd somewhere.
git clone https://github.com/Tykveg/keyboard-layout-skip.git
cd keyboard-layout-skip
Or just download the source code, unpack it somewhere and then open console in keyboard-layout-skip-main
.
mkdir build
cd build
cmake ..
cmake --build . --config Release
Your executable named keyboard-layout-skip.exe
will be located in keyboard-layout-skip/build/Release/keyboard-layout-skip.exe
so you can move it anywhere.
With the same folder where keyboard-layout-skip.exe is located, you can create config.txt and skips.txt (see about them below). To use this utility just launch keyboard-layout-skip.exe or open it with cmd.
- keyboard-layout-skip.exe
- config.txt
- skips.txt
In order to work correctly, the console should be minimized all the time. If the console is not minimized, the utility won't detect your keyboard layout correctly. That's why the console will minimize automatically. You can maximize the console windows to read some info and minimize it back though.
Configure the utility.
var=value
delay=[int]
<- delay in ms between each layout checks. Default: 50. More parameters coming soon (maybe).
// Writing comment
delay=49
Keyboard layouts that would be skipped.
hex_id
0x04090409
(so the utility skips en_US by default)
// Writing comment
0x04090409
04090409
4090409
Each time you open the utility, you will see you keyboard layout list with the same order as in windows, so that's where you can find those hex IDs. Or you can reference this table (Windows 10/11), but with extra numerals.
Feel free to write about bugs/issues/questions/requests in Issues
. I'm a beginner that's why I might have done something wrong. Thank you!
I don't really plan to add some heavy features there and I want to keep this utility small and specific (specific to skip keyboard layouts). But I do have plans to create a utility with GUI that switches different keyboard layouts with a different shortcuts (so it will be easier to organize your keyboard layouts if you have a lot of them). And I also want to include some features from this small project.