Let's say you have 3 languages on your linux machine: English, Russian and Belarusian. You frequently switch between EN and RU. Sometimes you write something in EN and BY. So you don't want to press Alt+Shift three times constantly, only when writing something in Belarusian.
I have made a followin script for that:
#!/bin/bash
current=`setxkbmap -query | grep layout|cut -d ',' -f 2`
echo $current
if [ "$current" == "by" ]
then
notify-send -t 500 -i keyboard "Keyboard layouts: US/RU"
setxkbmap -model pc105 -layout us,ru -variant altgr-intl, -option grp:alt_shift_toggle
else
notify-send -t 500 -i keyboard "Keyboard layouts: US/BY"
setxkbmap -model pc105 -layout us,by -variant altgr-intl, -option grp:alt_shift_toggle
fi
Here I assume that Alt+Shift will be used to switch languages inside a group.
Save the scipt in /usr/local/bin as toggle_en_ru.sh (for example).
Add execution permissions. Like
sudo chmod +x /usr/local/bin/toggle_en_ru.sh
Go to keyboard layouts settings and add a new shortcut. Assign a shortcut for switching between languages groups. I decided to use Win+Space for language pairs (EN/RU <-> EN/BY) switching.
Sources and ideas from:
http://superuser.com/questions/505466/2-and-more-keyboard-layout-groups-in-linux-changed-by-different-hot-key
Querying existing configuration:
I have made a followin script for that:
#!/bin/bash
current=`setxkbmap -query | grep layout|cut -d ',' -f 2`
echo $current
if [ "$current" == "by" ]
then
notify-send -t 500 -i keyboard "Keyboard layouts: US/RU"
setxkbmap -model pc105 -layout us,ru -variant altgr-intl, -option grp:alt_shift_toggle
else
notify-send -t 500 -i keyboard "Keyboard layouts: US/BY"
setxkbmap -model pc105 -layout us,by -variant altgr-intl, -option grp:alt_shift_toggle
fi
Here I assume that Alt+Shift will be used to switch languages inside a group.
Save the scipt in /usr/local/bin as toggle_en_ru.sh (for example).
Add execution permissions. Like
sudo chmod +x /usr/local/bin/toggle_en_ru.sh
Go to keyboard layouts settings and add a new shortcut. Assign a shortcut for switching between languages groups. I decided to use Win+Space for language pairs (EN/RU <-> EN/BY) switching.
Sources and ideas from:
http://superuser.com/questions/505466/2-and-more-keyboard-layout-groups-in-linux-changed-by-different-hot-key
Querying existing configuration:
$
setxkbmap -query
No comments:
Post a Comment