pentadactyl, vimperator и кириллица (какой-нибудь универсальный костыль)

Firefox, Opera, Chromium и прочее.

Модератор: /dev/random

Ответить
liaonau
Сообщения: 390
ОС: gentoo

pentadactyl, vimperator и кириллица

Сообщение liaonau »

Поставил pentadactyl на «посмотреть», мне понравилось, стало лучше, чем было в vimperator год назад. Но я так и не нашел вменяемого решения для хоткеев при использовании кириллицы. Ясно, что проблема стара как vim, известен костыль с map. Сделал так:

Код: Выделить всё

#!/usr/bin/perl
my %lm = (
'ё' => '`', 'й' => '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', 'б' => ',', 'ю' => '.', 'Ё' => '~', 'Й' => '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', 'Б' => '<', 'Ю' => '>');
foreach $a (keys %lm) {
  foreach $b (keys %lm) {
    print "map $a$b $lm{$a}$lm{$b}\n"
  }
    print "map $a $lm{$a}\n"
}
print('" vim',':ft=pentadactyl:fdm=marker',"\n")

потом source сгенерированное в конфиге. Как итог — минута на запуск, тормоза при работе и особенно при команде :map.

В luakit я пошел по другому пути — просто стал передавать браузеру keyval, измененный с помощью gdk_keymap_translate_keyboard_state так, как будто бы его группа 0 (английская раскладка). Но боюсь, поправить исходники firefox я не осилю.

Кто-нибудь знает какое-нибудь общее решение проблемы?
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: pentadactyl, vimperator и кириллица

Сообщение SLEDopit »

liaonau писал(а):
16.05.2012 21:09
ак итог — минута на запуск, тормоза при работе
о.О у меня нет такой проблемы.
Однако у данного метода есть серьёзный недостаток: работают лишь односимвольные команды. Для всех остальных всё равно нужно переключать раскладку.
Где-то видел размышления на тему, чтобы выход из insert режима принудительно переключал раскладку, но потом я эти размышления потерял и мне неизвестно, придумали ли там какое-то решение или нет.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: pentadactyl, vimperator и кириллица

Сообщение liaonau »

Как раз скриптом все сочетания двух символов тоже замаплены. Отсюда и тормоза — их очень много.
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: pentadactyl, vimperator и кириллица

Сообщение SLEDopit »

liaonau писал(а):
16.05.2012 21:40
Как раз скриптом все сочетания двух символов тоже замаплены. Отсюда и тормоза — их очень много.
Ой, действительно проглядел. Тогда виноват. Но всё равно это не панацея. Я часто пользуюсь и трёхбуквенными командами (:
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: pentadactyl, vimperator и кириллица

Сообщение liaonau »

Еще пару внешних циклов добавить не сложно, но это действительно не вариант ввиду скорости. Да и переключение раскладки при выходе из Insert тоже не очень правильно. Если есть много форм, которые надо заполнить на русском, то будет неудобно.
Пожалуй придется мапить только gg, gi и другие распостраненные сочетания и двух, трех буквенные сочетания с mapleader.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: pentadactyl, vimperator и кириллица

Сообщение sash-kan »

мда… чего только люди не придумают, лишь бы не переходить с _пере_ключения на _в_ключение раскладок…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: pentadactyl, vimperator и кириллица

Сообщение liaonau »

Это вы о нециклических сочетаниях для включения кириллицы и латиницы? Но ведь их все равно придется нажимать.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: pentadactyl, vimperator и кириллица

Сообщение sash-kan »

liaonau писал(а):
16.05.2012 22:12
Это вы о нециклических сочетаниях для включения кириллицы и латиницы?
да

liaonau писал(а):
16.05.2012 22:12
Но ведь их все равно придется нажимать.
да·
но есть нюанс:
если такие клавиши или их сочетания будут просты и будут находиться «под рукой» (исключительно для примера, пусть это будут caps и shift+caps), то очень скоро вы не будете и замечать, что ими пользуетесь:
рефлекс «нажимаю так, пишу латиницей, нажимаю эдак, пишу кириллицей» очень быстро «прилипает»·
в частности потому, что требует нулевого количество внимания к тому, какая именно у вас в данный момент включена раскладка·
а внимание — весьма ценный и скоропортящийся груз…
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
liaonau
Сообщения: 390
ОС: gentoo

Re: pentadactyl, vimperator и кириллица

Сообщение liaonau »

В этом есть смысл. Но если я писал кириллицей и собираюсь ей писать дальше, после перевода фокуса в TextEntry на другой вкладке, то все равно переключаться на латиницу для навигации — излишние хлопоты. Для навигации логично используются не символы, а клавиши, безразлично какие именно символы они генерируют в данный момент. То, что в конфигурационном файле они обозначены символами, не является принципиальным.
Тогда уже проще пойти путем предложенным SLEDopit: при выходе из режима вставки раскладка запоминается и переключается на латиницу, при входе в режим вставки восстанавливает значение из предыдущего режима вставки.
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU
Контактная информация:

Re: pentadactyl, vimperator и кириллица

Сообщение sash-kan »

liaonau писал(а):
17.05.2012 00:04
излишние хлопоты
просто попробуйте·
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
pentadactyl
Сообщения: 1
ОС: Windows 7

Re: pentadactyl, vimperator и кириллица

Сообщение pentadactyl »

sash-kan писал(а):
17.05.2012 11:10
liaonau писал(а):
17.05.2012 00:04
излишние хлопоты
просто попробуйте·


Понять не могу, почему мне такая замечательная идея в голову не пришла. Но если у меня Win7, то мне же в плане _вклю_чения раскладки ничего не светит, да? В идеале, я бы хотел, чтобы кириллица у меня включалась капсом, а при потере фокуса автоматически включалась латиница. По-моему, очень удобно, но виндоуз...
Спасибо сказали:
Аватара пользователя
sgfault
Сообщения: 586
Статус: -
Контактная информация:

Re: pentadactyl, vimperator и кириллица

Сообщение sgfault »

pentadactyl писал(а):
17.10.2012 03:37
sash-kan писал(а):
17.05.2012 11:10
liaonau писал(а):
17.05.2012 00:04
излишние хлопоты
просто попробуйте·


Понять не могу, почему мне такая замечательная идея в голову не пришла. Но если у меня Win7, то мне же в плане _вклю_чения раскладки ничего не светит, да? В идеале, я бы хотел, чтобы кириллица у меня включалась капсом, а при потере фокуса автоматически включалась латиница. По-моему, очень удобно, но виндоуз...

Не знаю, что там на В7, но на Висте работает, например, Alt+Shift+1 и Alt+Shift+2. Единственный минус, который всегда был с раскладками в винде, впрочем, что переключение запаздывает, и половина слова может получиться на другом языке.
Спасибо сказали:
Аватара пользователя
taaroa
Сообщения: 1319

Re: pentadactyl, vimperator и кириллица

Сообщение taaroa »

offtop -20
pentadactyl писал(а):
17.10.2012 03:37
Но если у меня Win7, то мне же в плане _вклю_чения раскладки ничего не светит, да? В идеале, я бы хотел, чтобы кириллица у меня включалась капсом

google://capswitch
google://recaps

RESOLVED WORKSFORME
:wq
Спасибо сказали:
Ответить