You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ublinux-init/ublinux/scripts/ubxswitcher.sh

38 lines
1.5 KiB

#!/usr/bin/bash
#
# Author: Dmitry Razumov <asmeron@ublinux.com>
# Copyright (c) 2021-2025 UBLinux <support@ublinux.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Переключаем раскладку
xdotool key --delay 20 Mode_switch
# Делаем бэкап последней записи буфера
BACKUPCLIPB=$(xsel -b)
if [[ -n $1 ]]; then
xdotool key --delay 150 Control
xdotool key --delay 150 Control+Left
# xdotool keydown --delay 150 Control key --delay 150 Left keyup --delay 150 Control
xdotool key --delay 50 Shift+End
else
xdotool key --delay 150 End
xdotool key --delay 150 End
xdotool key --delay 50 Shift+Home
fi
xdotool key --delay 50 Control+Insert
SELCLIPB=$(xsel -b)
CONVCLIPB=$(echo -n "${SELCLIPB}" | sed "y/\
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/\
фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.<>#\`~/")
# Конвертируем символы
echo -n "${CONVCLIPB}" | xsel -b -i; sleep 0.2
xdotool key --delay 50 Shift_R+Insert
# Восстанавливаем бэкап последней записи буфера
echo -n "${BACKUPCLIPB}" | xsel -b -i
# echo -n "${BACKUPCLIPB}" | xsel -p -i