Инструменты пользователя

Инструменты сайта


 ↔

Боковая панель

linux:autokey_bags_and_tricks
Эта версия (2017/08/11 17:53) была проверена пользователем Случайный зритель.Доступна предыдущая проверенная версия (2016/10/18 18:34).Diff

Autokey bags and tricks

Официальный репозиторий - https://github.com/autokey/autokey

Порт на python3 - https://github.com/guoci/autokey-py3


Много ишьюсов - https://github.com/timoc/autokey/issues

Беды - https://stackoverflow.com/questions/tagged/autokey


https://github.com/guoci/autokey-py3/issues/29

issue о том какие у меня были проблемы, я их решил и какие остались


Конфиг /home/dm/.config/autokey/autokey.json

Ставил отсюда -

git clone https://github.com/autokey/autokey.git
pip3 install --user git+https://github.com/guoci/autokey-py3

Изменял помимо настроек -

~/.local/lib/python3.5/site-packages/autokey/

class SendMode:
    """
    Enumeration class for phrase send modes
 
    KEYBOARD: Send using key events
    CB_CTRL_V: Send via clipboard and paste with Ctrl+v
    CB_CTRL_SHIFT_V: Send via clipboard and paste with Ctrl+Shift+v
    SELECTION: Send via X selection and paste with middle mouse button
    """
    KEYBOARD = "kb"
    CB_CTRL_V = Key.CONTROL + "+v"
    CB_CTRL_SHIFT_V = Key.CONTROL + '+' + Key.SHIFT + "+v"
    CB_SHIFT_INSERT = Key.SHIFT + '+' + Key.INSERT
    SELECTION = None
 
SEND_MODES = {
             "Keyboard" : SendMode.KEYBOARD,
             "Clipboard (Ctrl+V)" : SendMode.CB_CTRL_V,
             "Clipboard (Ctrl+Shift+V)" : SendMode.CB_CTRL_SHIFT_V,
             "Clipboard (Shift+Insert)" : SendMode.CB_SHIFT_INSERT,
             "Mouse Selection" : SendMode.SELECTION
             }
 
class Phrase(AbstractAbbreviation, AbstractHotkey, AbstractWindowFilter):
    """
    Encapsulates all data and behaviour for a phrase.
    """
 
    def __init__(self, description, phrase, path=None):
        AbstractAbbreviation.__init__(self)
        AbstractHotkey.__init__(self)
        AbstractWindowFilter.__init__(self)
        self.description = description
        self.phrase = phrase
        self.modes = []
        self.usageCount = 0
        self.prompt = False
        self.omitTrigger = False
        self.matchCase = False
        self.parent = None
        self.showInTrayMenu = False
        # self.sendMode = SendMode.KEYBOARD
        # заменил строку выше на строку ниже
        self.sendMode = SendMode.CB_SHIFT_INSERT
        self.path = path

И добавил к сценарию Abbreviation from selection перевод в английские символы

import time
time.sleep(0.25)
contents = clipboard.get_selection()
retCode, abbr = dialog.input_dialog("New Abbreviation", "Choose an abbreviation for the new phrase")

z = [('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', 'ь'),
     (',', 'б'),
     ('.', 'ю'),
     ('/', '.')]
     
for i in z:
    abbr = abbr.replace(i[1],i[0])

if retCode == 0:
    if len(contents) > 20:
        title = contents[0:17] + "..."
    else:
        title = contents
    folder = engine.get_folder("My Phrases")
    engine.create_abbreviation(folder, title, abbr, contents)
    

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
B D M G B
 
/home/d/dgaloc/wiki.dmgl.info/public_html/data/pages/linux/autokey_bags_and_tricks.txt · Последние изменения: 2017/08/11 17:53 — Случайный зритель