Полезный скрипт "преобразование раскладки c En2Ru"

Со всеми случалось, что приходят сообщения подобные этому "ghbdtn rfr ltkf&" и сидишь гадаешь, что автор имел ввиду, когда-то давно я пользовался Punto Switcher да qip'ом тоже, и там была функция преобразование раскладки, a в Linux'e мне ее очень не хватало. Сказано сделано, я не особо знаток perl'a, но все же смог наваять небольшой скриптик.


Вот сам скрипт
convert.pl
#!/usr/bin/perl
use locale;

my %array = ( 
	'q' => 'й',
	'w' => 'ц',
	'e' => 'у',
	'r' => 'к',
	't' => 'е',
	'y' => 'н',
	'u' => 'г',
	'i' => 'ш',
	'o' => 'щ',
	'p' => 'з',
	'[' => 'х',
	']' => 'ъ',
	'a' => 'ф',
	's' => 'ы',
	'd' => 'в',
	'f' => 'а',
	'g' => 'п',
	'h' => 'р',
	'j' => 'о',
	'k' => 'л',
	'l' => 'д',
	';' => 'ж',
	'\'' => 'э',
	'z' => 'я',
	'x' => 'ч',
	'c' => 'с',
	'v' => 'м',
	'b' => 'и',
	'n' => 'т',
	'm' => 'ь',
	',' => 'б',
	'.' => 'ю',
	'&' => '?'
);

$select = lc `xsel -o`;
my @text = split(//, $select);
my $newtext = '';
if ($select =~ /[\dA-z]/){
 foreach my $en (@text){
 	if($en =~ /[\s]/){
 		$newtext .= +' ';
 	}
	elsif($en =~ /[^A-z^\'\;\[\]\,\.]/){
		$newtext .= +$en;
	}
 	else{
 		$newtext .= +$array{$en};
 	}
 }
};
my $cmd = "notify-send -i gtk-info -u critical 'Преобразовали' '$newtext'";
system($cmd);
Учтите что у вас должен быть установлен libnotify и xsel.
Ну, а дальше делаете данный файл исполняемым chmox +x convert.plназначаете его на комбинацию клавиш, у меня например alt+2, выделяете текст и нажимаете alt+2 и если все хорошо у вас появится всплывающее сообщение с преобразованным текстом.

Комментарии ()

    Авторизация

    GitHubGoogleVkontakteYandex
    Есть вопрос или предложение пиши в Telegram @cloudsv

    MTProto прokси для Telegram

    Прямой эфир

    Diego mont 25 мая 2023, 07:04
    Полезные боты в Telegram 2
    cloudsv 24 апреля 2023, 17:56
    Обновление Scala Rider G4 52
    cloudsv 12 ноября 2022, 19:16
    Установка и настройка minidlna 3
    cloudsv 03 ноября 2022, 03:42
    Настройка прокси mtproto для Telegram 52
    cloudsv 03 января 2022, 10:50
    Let's Encrypt это легко и просто 4
    cloudsv 10 сентября 2020, 13:17
    MySQL Workbench падает при подключении 2
    cloudsv 05 августа 2020, 11:57
    Мне вчера стукнуло 34 4
    cloudsv 07 августа 2023, 22:56
    Linux Asus ROG x13 flow 2022 GV301RE и Linux 0
    cloudsv 15 апреля 2023, 16:23
    Linux Уведомление о смены workspace в X11 Linux 0
    cloudsv 17 октября 2020, 09:55
    Linux Отключить DHCP IPv6 в systemd 0
    cloudsv 30 июля 2020, 21:54
    О жизни Мне вчера стукнуло 34 4
    cloudsv 15 апреля 2020, 15:45
    Linux Основные hotkeys редактора Vim 0
    cloudsv 01 октября 2019, 08:00
    Linux Локальный редирект порта в Linux 0
    cloudsv 25 августа 2019, 16:14
    О жизни Социальная сеть от Яндекса Aura 0
    cloudsv 30 июля 2019, 21:34
    О жизни 33 year old 0
    cloudsv 25 июня 2019, 18:29
    Telegram Полезные боты в Telegram 2