рдЙрдкрдпреЛрдЧреА рд╕рд╛рдорд╛рди: рдЧрд▓рдд рд▓реЗрдЖрдЙрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛

рдЕрдХреНрд╕рд░ рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЯреЗрдХреНрд╕реНрдЯ рдЧрд▓рдд рд▓реЗрдЖрдЙрдЯ рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдВрдзреЗ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрд╕ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдШрдЯрдирд╛рдПрдВ рдЕрднреА рднреА рд╣реЛрддреА рд╣реИрдВред

рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рд╢рд░реНрдо рдХреА рдмрд╛рдд рд╣реИ рдЕрдЧрд░ рдкрд╛рда рдмрд╣реБрдд рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд▓рд╕реА рд╣реИред





1. рдпреВрдирд┐рдХреНрд╕ рддрд░реАрдХрд╛ рд╣реИ


рд╕рдмрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╕реНрдЯрдбрдЖрдЙрдЯ рд╕реЗ рд╕реНрдЯрдбрдЖрдЙрдЯ рддрдХ рдПрдХ рдЯреНрд░рд╛рдВрд╕рдХреЛрдбрд░ рд▓рд┐рдЦрдирд╛ рд╣реИ:

#!/usr/bin/perl -CS

use utf8;

$lat=q(`~!@#$%^&qwertyuiop[]asdfghjkl;'zxcvbnm,./QWERTYUIOP{}ASDFGHJKL:"|ZXCVBNM<>?);

$cyr=q(!"тДЦ;%:?./,);

while(<>) { eval "tr{$lat$cyr}{$cyr$lat}"; print; }







/ * '-CS' рдпрд╣рд╛рдБ stdin рдФрд░ stdout рдХреЗ рд▓рд┐рдП utf8 рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, 'utf8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ' - рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд╛рда рдХрд╛ рд╣реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧред

рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдпрд╣ рд╕рдм рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ:

perl -CS -Mutf8 -pe 'tr/qwerty....../...qwert.../;'





* /

рдпреБрдкреАрдбреА:

рдкрд░реНрд▓ рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЕрдзрд┐рдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

sed -e 'y/qwerty....../...qwerty.../'







рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, klipper рд╕реЗ kde рдореЗрдВ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕реНрдХреНрд░реВ рдХрд░рдирд╛ рдХрд╛рдлреА рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ:

рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП .*



(рдХреЛрдИ рднреА рдкрд╛рда), рдХрдорд╛рдВрдб: echo -n "%s" | translit



echo -n "%s" | translit





рд╢рд╛рдпрдж рд╕реВрдХреНрддрд┐ рдореЗрдВ рднреА рдХреБрдЫ рдРрд╕рд╛ рд╣реА рд╣реИред

рд╕рдЪ рд╣реИ, рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдирд╛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ klipper рд╣реЙрдЯрдХреАрдЬрд╝ рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд▓рдЯрдХрд╛ рджреЗрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ:

  1. рдкрд╛рда рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
  2. рдмрдлрд░ рдореЗрдВ рдбрд╛рд▓ рджрд┐рдпрд╛
  3. рдПрдХреНрд╢рди рдореЗрдиреВ рдкрд░ рдХреЙрд▓ рдХрд░реЗрдВ
  4. рдПрдХ рдХреНрд░рд┐рдпрд╛ (рдХрд░реНрд╕рд░) рдЪреБрдиреЗрдВ
  5. рдПрдХ рдмрдлрд░ рд╕реЗ рдкрд╛рда рдЪрд┐рдкрдХрд╛рдПрдБ




2. xclip


Xclip рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдмрдлрд░ рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб (рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб) рдФрд░ рдорд╛рдЙрд╕ рдХреЗ рд╕рд╛рде рдЪрдпрдирд┐рдд рдкрд╛рда (рдкреНрд░рд╛рдердорд┐рдХ рдЪрдпрди) рджреЛрдиреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдЬреНрдЮрд╛: xclip -out | translit | xclip -in



xclip -out | translit | xclip -in





рдмрд╛рдПрдВ рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЪрдпрди рдХреЛ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЛ рдордзреНрдп рдорд╛рдЙрд╕ рдмрдЯрди рдХреЗ рд╕рд╛рде рдЪрд┐рдкрдХрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдЙрд╕ рдЪрдпрди рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП:

xclip -out -sel clip| translit | xclip -in -sel clip







3. xdotool


рдХреЛрдИ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЖрджреЗрд╢ рдирд╣реАрдВ рд╣реИ "рдПрдХреНрд╕ рдореЗрдВ рдмрдлрд░ рд╕реЗ / рдХреЗ рд▓рд┐рдП рдЪрдпрдирд┐рдд рдкрд╛рда рдбрд╛рд▓реЗрдВ"ред

рд▓реЗрдХрд┐рди рдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдпрд╣ Ctrl-C / Ctrl-V рджрдмрд╛рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрди рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЛ рджрдмрд╛рдиреЗ рд╕реЗ xdotool рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЖрджреЗрд╢ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:

xdotool key 'ctrl+c'; xclip -out -sel clip | translit | xclip -in -sel clip; xdotool key 'ctrl+v'





рдЗрд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рдЧрд░реНрдо рдХреБрдВрдЬреА рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

  1. рдЕрдкрдиреА рдкрд╕рдВрдж рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреЗрдХреНрд╕реНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ
  2. рд╣реЙрдЯрдХреА рдХреЛ рдзрдХреНрдХрд╛ рджреЗрдВ



All Articles