Продолжаю изыскания
Очередной вариант…
Необходимые программы:
╔════╦═══════╦══════╦═════════╗
║xsel║xdotool║xmacro║setxkbmap║
╚════╩═══════╩══════╩═════════╝
Всё доступно через apt.
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│↓↓↓ Тело скрипта, «тело» потому что не очень жив 😕(в коме), а как оживёт буду писать "ОРГАНИЗМ скрипта" 😀!│
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
#setxkbmap -layout "us,ru" #может понадобиться…
xsel -b > /tmp/fileZ.txt; XF=$(cat /tmp/fileZ.txt)
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 > /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; echo -n $XF | xsel -b -i;sleep 0.2;echo -n $XF | xsel -p -i; sleep 0.2
┌─────────────────────────────────────────────────────────────────────────────────┐
│KeyStrPress Alt_L KeyStrPress Shift_L KeyStrRelease Shift_L KeyStrRelease Alt_L │
└─────────────────────────────────────────────────────────────────────────────────┘
↑↑↑ А вот с этим у меня не заработало, но это что-то у меня…
Это только один скрипт
замена раскладки выделенного текста (Vfif tkf rfie b ck`ps rfgfkb ghzvj d nfhtkre Маша ела кашу и слёзы капали прямо в тарелку).
Остальные делаются «по образу и подобию», просто один нужно попытаться довести до ума
Сохраняются
только те данные которые были скопированы в буфер по
Ctrl+C или Ctrl+Insert. Сохранение
предпоследнего выделения (для средней кнопки) сильно усложнит скрипт. Но последнее выделение клавишами сохраняется в
оба буфера.
Если используется какой-либо менеджер буфера обмена положим
Clipman в xfce не должна быть включена синхронизация. Можно и с синхронизацией, но это сильно опять таки усложнит скрипт.
Лучше всего работает если переключение клавиатуры по
Caps’у. Это связано с тем, что
xdotool неуверенно переключает раскладку, а
xmacro уверенно но медленней.
В общем это не полуфабрикат т.е. не 50%фабрикат, а где-то 33%фабрикат
, широчайший простор для творчества
чем я и намерен заниматься в ближайшее время.
Жду подсказок настоящих специалистов, если не дождусь, начну нахально спрашивать!