Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import subprocess, string, re, virtkey, time
- time.sleep(0.4)
- v = virtkey.virtkey()
- def lpress(w,x):
- v.lock_mod(w)
- v.press_keycode(x)
- v.release_keycode(x)
- v.unlock_mod(x)
- def slpress(w,x,y):
- v.lock_mod(w)
- v.lock_mod(y)
- v.press_keycode(x)
- v.release_keycode(x)
- v.unlock_mod(y)
- v.unlock_mod(w)
- def press(w):
- v.press_keycode(w)
- v.release_keycode(w)
- # lpress(1<<0,97)#выделяем всю строку Shift+Home, для выделени слова используем slpress(1<<0,100,1<<2)
- lpress(1<<2,54)#копируем Ctrl+C
- p1 = subprocess.Popen("xclip -o -selection clipboard",shell=True,stdout=subprocess.PIPE)
- s = p1.communicate()[0]
- if s != "":
- s = str(s).decode('utf-8')
- s = s.encode('cp1251')
- tbl = string.maketrans(u"йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ".encode('cp1251'), u"qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>".encode('cp1251'))
- tbl2 = string.maketrans(u"qwertyuiop[]asdfghjkl;'zxcvbnm,.QWERTYUIOP{}ASDFGHJKL:\"ZXCVBNM<>".encode('cp1251'), u"йцукенгшщзхъфывапролджэячсмитьбюЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ".encode('cp1251'))
- if re.compile(".*[a-z]{1,3}.*",re.I).match(s) != None:
- s = s.translate(tbl2).decode('cp1251').encode('utf-8')
- else:
- s = s.translate(tbl).decode('cp1251').encode('utf-8')
- #s= ""
- #s= s.decode('utf-8').encode('cp1251').decode('cp1251').encode('utf-8')
- table3 = {'^)':':)','^D':':D',':В':':D','Ж)':':)','^В':':D'}# :)
- for k in table3.keys():
- s = s.replace(k,table3[k])
- proc = subprocess.Popen(u"xclip -selection clipboard", shell=True, stdin=subprocess.PIPE)
- proc.communicate(s)
- press(107)
- lpress(1<<2,55)#вставляем перекодированный вариант Ctrl+v
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement