Advertisement
Guest User

Untitled

a guest
Jun 11th, 2017
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.89 KB | None | 0 0
  1. #!/usr/bin/python
  2. # -*- coding: utf-8 -*-
  3. import subprocess, string, re, virtkey, time
  4.  
  5. time.sleep(0.4)
  6.  
  7. v = virtkey.virtkey()
  8.  
  9. def lpress(w,x):
  10.     v.lock_mod(w)
  11.     v.press_keycode(x)
  12.     v.release_keycode(x)
  13.     v.unlock_mod(x)
  14.  
  15. def slpress(w,x,y):
  16.     v.lock_mod(w)
  17.     v.lock_mod(y)
  18.     v.press_keycode(x)
  19.     v.release_keycode(x)
  20.     v.unlock_mod(y)
  21.     v.unlock_mod(w)
  22.  
  23. def press(w):
  24.     v.press_keycode(w)
  25.     v.release_keycode(w)
  26.  
  27. # lpress(1<<0,97)#выделяем всю строку Shift+Home, для выделени слова используем slpress(1<<0,100,1<<2)
  28. lpress(1<<2,54)#копируем Ctrl+C
  29.  
  30. p1 = subprocess.Popen("xclip -o -selection clipboard",shell=True,stdout=subprocess.PIPE)
  31. s = p1.communicate()[0]
  32. if s != "":
  33.     s = str(s).decode('utf-8')
  34.     s = s.encode('cp1251')
  35.     tbl = string.maketrans(u"йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ".encode('cp1251'), u"qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>".encode('cp1251'))
  36.     tbl2 = string.maketrans(u"qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>".encode('cp1251'), u"йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ".encode('cp1251'))
  37.     if re.compile(".*[a-z]{1,3}.*",re.I).match(s) != None:
  38.         s = s.translate(tbl2).decode('cp1251').encode('utf-8')
  39.     else:
  40.         s = s.translate(tbl).decode('cp1251').encode('utf-8')
  41.     #s= ""
  42.     #s= s.decode('utf-8').encode('cp1251').decode('cp1251').encode('utf-8')
  43.     table3 = {'^)':':)','^D':':D',':В':':D','Ж)':':)','^В':':D'}# :)
  44.     for k in table3.keys():
  45.         s = s.replace(k,table3[k])
  46.     proc = subprocess.Popen(u"xclip -selection clipboard", shell=True, stdin=subprocess.PIPE)
  47.     proc.communicate(s)
  48.     press(107)
  49.     lpress(1<<2,55)#вставляем перекодированный вариант Ctrl+v
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement