Весна продолжается, господа, с чем Вас всех и поздравляю по случаю 1-го апреля!
Перечитал снова всю тему. И попробовал переделать. Я правда не готов оценить практическую ценность; xNeur в рабочем состоянии заменить, конечно тяжело
… Но как говорится «раз звёзды зажигают…»
Испытывал только в
xUbuntu 20.04, что будет в Wayland’е не знаю. Пробовал в текстовом редакторе
mousepad, в
LO в адресной строке браузеров и в поле для сообщения на форумах. Вроде работает, во всяком случае у меня
!
Задержки ставил минимальные, скорости хотел, ну можно добавить, раздражающего торможения нет. Наверное можно сделать лучше, но я не знаю как
Если кому-то это вдруг нужно можете протестировать. Если не работает через клавиши, убедитесь в работоспособности в терминале.
По типу
sleep 10; sh -c /путь/ABCD.sh и выбирайте пока идёт задержка место где собираетесь применить.
1.)Смена регистра выделенного текста (Маша Ела Кашу → мАША еЛА кАШУ) т.е
инвертирование.
xsel -o > /tmp/fileX.txt;xdotool key --delay 150 Delete;EE=$(cat /tmp/fileX.txt)
QZ=$(echo -n $EE | sed 's/\w/&`/g;s/\([[:upper:]]\)`/\l\1/g;s/\([[:lower:]]\)`/\u\1/g')
echo -n $QZ | xsel -b -i;sleep 0.2
xdotool key --delay 250 Shift_R+Insert
xsel --clear
2.)Смена раскладки выделенного текста (пришёл dnjhjq vtczw весТны → пришёл второй месяц весТны)
xsel -o > /tmp/fileX.txt;xdotool key --delay 150 Delete;EE=$(cat /tmp/fileX.txt)
QZ=$(echo -n $EE | sed "y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};\
':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/фисвуапршолдьтщз\
йкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST\
UVWXYZ[]{};':\",.<>#\`~/")
echo -n $QZ | xsel -b -i;sleep 0.2
xdotool key --delay 250 Shift_R+Insert
xsel --clear
3.)Смена раскладки последнего слова( т.е. до пробела), выделение не нужно (два триллиона ljkkfhjd → два триллиона долларов)
xsel --clear
xdotool key --delay 150 End
xdotool key --delay 150 Shift_R+Home
xsel -o > /tmp/fileX.txt; cat /tmp/fileX.txt | xsel
EE=$(xsel)
xdotool key --delay 150 Home;xdotool keydown --delay 250 Shift_R key --delay 150 \
End key --delay 150 Delete keyup --delay 250 Shift_R
QA=$(echo -n $EE | sed -e 's:[^ ]*$::')
QZ=$(echo -n $EE | grep -o '\S\+\s*$' | sed "y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};\
':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/фисвуапршолдьтщз\
йкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST\
UVWXYZ[]{};':\",.<>#\`~/")
echo -n "${QA}${QZ}" | xsel -b -i;sleep 0.2
xdotool key --delay 250 Shift_R+Insert
xsel --clear
4.)Смена раскладки всей строки выделение не нужно. (Cvtyf hfcrkflrb dctq cnhjrb → Смена раскладки всей строки)
xsel --clear
xdotool key --delay 250 End
xdotool key --delay 250 Home
xdotool key --delay 250 End
xdotool key --delay 250 Shift_R+Home
xsel -o > /tmp/fileX.txt; cat /tmp/fileX.txt | xsel
EE=$(xsel)
xdotool key --delay 150 Home;xdotool keydown --delay 250 Shift_R key --delay 150 \
End key --delay 150 Delete keyup --delay 250 Shift_R
QZ=$(echo -n $EE | sed "y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};\
':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/фисвуапршолдьтщз\
йкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRST\
UVWXYZ[]{};':\",.<>#\`~/")
echo -n $QZ | xsel -b -i;sleep 0.2
xdotool key --delay 250 Shift_R+Insert
xsel --clear