Open mshakurov opened 2 years ago
В xswitcher в данный момент нельзя. Я решил этот вопрос пока для себя с помощью шелл-скрипта (т.е. xswitcher для этого не используется) и настроив хоткей штатными средствами ОС (Linux Mint 19).
Текст скрипта:
#!/bin/sh
xdotool key Ctrl+Insert
#sleep 0.3s
xsel -bo | sed "y/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.\/<>?@#\$^&\`~фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбюБЮ№ёЁ/фисвуапршолдьтщзйкыегмцчняФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯхъХЪжэЖЭбю.БЮ,\"№;:?ёЁabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ[]{};':\",.<>#\`~/" | xsel -bi
#sleep 0.3s
xdotool key Shift+Insert
Скрипт не мой, взят отсюда и немного допилен (добавлены флаги -bo в первом вызове xsel). Зареманые строки sleep можно пробовать анремать, если будет глючить.
Для работы скрипта надо установить утилитки:
$ sudo apt install xdotool xsel
Всё так. Xswitcher работает уровнем ниже (за счёт этого не глючит в терминалах) и ничего не знает про "выделение".
Его можно использовать только как "запускалку", если хочется настроить очень особенную комбинацию клавиш.
Для "запускалки", в конфиге есть пример. См.
"Action.Hook1" = [ "OFF:(CTRL|R_ALT|META|SHIFT) SEQ:(L_ALT:1,L_ALT:0)" ]
и ниже секция [Action.Hook1]
с реализацией хука.
В примере описывается короткое нажатие левого "ALT" при отпущенных остальных модификаторах.
Сделать нужную строку для желаемой последовательности клавиш поможет запуск в терминале
xswitcher -t
Скрипт не мой, взят отсюда и немного допилен (добавлены флаги -bo в первом вызове xsel). Зареманые строки sleep можно пробовать анремать, если будет глючить.
скрипты из той темы не работают в ubuntu 22.04.1 Gnome 42.4 Wayland , но вот этот на питоне заработал, правда далеко не во всех приложениях, в браузере главное работает https://mikhailvinakov.blogspot.com/2019/08/layout-switcher-ru.html
Добавил экспериментальную возможность печатать на виртуальной клавиатуре текст из буфера обмена. На данный момент принимает только американскую латиницу (см. "scancodes/table.go"). Мне оно было надо, чтобы загнать некую "простыню" в тупой VNC. Но можно и организовать перенабор содержимого буфера в других раскладках. Включая "автонастройку" через нажатие всех букв и спец. знаков на нужном языке.
Можно ли xswitcher настроить так, чтобы он переводил выделенный текст?
Возможно вопрос покажется глупым, но я новичок в linux, и не знаю, существует ли универсальное понятие клипбоарда.
Если нет, то подскажите, как настроить конфиг, чтобы запускать приложение по нажатию на определенный набор клавиш? Что-то не пойму как это сделать. Тогда я бы вручную копировал выделенный текст, быстро запускал свое приложение (используя хоткей в вашей програме), там в своей программе тарнслитерировал бы текст, и обратно вставлял текст в исходное окно.