Created
April 17, 2021 12:32
-
-
Save zhum/e1904e839821b7b37c67e2d653e184d7 to your computer and use it in GitHub Desktop.
Исправление раскладки выделенного текста
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Необходимые программы; всё доступно через apt. | |
# ╔════╦═══════╦══════╦═════════╗ | |
# ║xsel║xdotool║xmacro║setxkbmap║ | |
# ╚════╩═══════╩══════╩═════════╝ | |
# ╔═══════════════════════════════════════════════════════════════════════════════╗ | |
# ║ 1.)Данные для скрипта исправляющего раскладку выделенного текста… ║ | |
# ╚═══════════════════════════════════════════════════════════════════════════════╝ | |
ID=$$ | |
tmp1="/tmp/ruseng-${ID}.txt" | |
tmp2="/tmp/ruseng2-${ID}.txt" | |
#setxkbmap -layout "us,ru" #может понадобиться… | |
xsel -b > $tmp1; XF=$(cat $tmp1) | |
#echo "KeyStrPress ISO_Next_Group KeyStrRelease ISO_Next_Group"|xmacroplay -d 350 ":0.0" # Scroll_Lock приобретает такое название… | |
#echo "KeyStrPress Caps_Lock KeyStrRelease Caps_Lock"|xmacroplay -d 350 ":0.0" # по кругу Caps_Lock’ом лучший вариант | |
echo "KeyStrPress Control_L KeyStrPress Control_R KeyStrRelease Control_R KeyStrRelease Control_L"|xmacroplay -d 350 ":0.0" | |
xsel -o > $tmp2;xdotool key --delay 150 Delete;EE=$(cat $tmp2) | |
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; echo -n $XF | xsel -b -i;sleep 0.2;echo -n $XF | xsel -p -i; sleep 0.2 | |
rm "$tmp1" "$tmp2" | |
# ╔═══════════════════════════════════════════════════════════════════════════════╗ | |
# ║ 2.)Данные для скрипта меняющего раскладку всей строки без выделения текста… ║ | |
# ╚═══════════════════════════════════════════════════════════════════════════════╝ | |
# #setxkbmap -layout "us,ru" #может понадобиться… | |
# xsel -b > /tmp/fileZ.txt; XF=$(cat /tmp/fileZ.txt) | |
# echo "KeyStrPress Control_L KeyStrPress Control_R KeyStrRelease Control_R KeyStrRelease Control_L"|xmacroplay -d 350 ":0.0" | |
# 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; echo -n $XF | xsel -b -i;sleep 0.2;echo -n $XF | xsel -p -i; sleep 0.2 | |
# ╔═══════════════════════════════════════════════════════════════════════════════╗ | |
# ║ 3.)Данные для скрипта меняюшего раскладку последнего слова без его выделения… ║ | |
# ╚═══════════════════════════════════════════════════════════════════════════════╝ | |
# #setxkbmap -layout "us,ru" #может понадобиться… | |
# xsel -b > /tmp/fileZ.txt; XF=$(cat /tmp/fileZ.txt) | |
# echo "KeyStrPress Control_L KeyStrPress Control_R KeyStrRelease Control_R KeyStrRelease Control_L"|xmacroplay -d 350 ":0.0" | |
# 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; echo -n $XF | xsel -b -i;sleep 0.2;echo -n $XF | xsel -p -i; sleep 0.2 | |
# ╔═══════════════════════════════════════════════════════════════════════════════╗ | |
# ║ 4.)Данные для скрипта производящего инвертирование регистра… ║ | |
# ╚═══════════════════════════════════════════════════════════════════════════════╝ | |
# xsel -b > /tmp/fileZ.txt; XF=$(cat /tmp/fileZ.txt) | |
# 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; echo -n $XF | xsel -b -i;sleep 0.2;echo -n $XF | xsel -p -i; sleep 0.2 <<paragraph | |
# ≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈≈ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment