A keyboard switching program for the command line.
Code is from this stackoverflow question
- requires xcode command line tools
- run
make
- copy
build/kbswitch
to place in path
kbswitch list
list all available inputskbswitch com.apple.keylayout.ABC
for English (macos Ventura)kbswitch com.apple.inputmethod.Kotoeri.RomajiTyping.Japanese
for Japanese (macos Ventura)
There is an objective-c version kbswitch.m
that can be compiled with
clang -framework Carbon -framework Foundation filename.m -o filename
. However, this doesn't necessarily work as is because it requires com.apple.keylayout
prepended to the keyboard layout.
If you want to switch from (other language) to English when going from insert mode to normal mode in vim/neovim, add this to your config:
inoremap <ESC> <ESC>:execute 'silent! !kbswitch com.apple.keylayout.ABC'<CR>:echon ''<CR>
Note that the exectuble must be in your $PATH.