LINUX.ORG.RU

Вышел Tapper 0.6.0

 ,


1

2

Вчера, 1 июня 2022 года, тихо и незаметно вышла в свет версия Tapper 0.6.0, открытого переключателя раскладок клавиатуры. Событие не особо значительное, но на ЛОРе есть несколько пользователей этой программы.

О программе

Tapper — открытый переключатель раскладок клавиатуры для X Window System и Wayland. Tapper работает в фоновом режиме, и при ударе по назначенной клавише Tapper включает соответствующую ей раскладку клавиатуры. Особенность Tapper заключается в использовании клавиш-модификаторов для включения раскладок без потери функций модификаторов. Первичная платформа Tapper — Gnome, работающий поверх X Window System или Wayland в текущей версии Fedora, но Tapper также годится для Cinnamon, GNOME Classic, KDE, LXDE, LXQt, MATE, Xfce, работающих поверх X Window System в других дистрибутивах GNU/Linux. RPM-пакеты сформированы для дистрибутивов Fedora, Mageia, openSUSE, Rad Hat и её клонов.

Удар — нажатие и быстрое отпускание клавиши, при этом:

  • никакие другие клавиши не должны быть нажаты

  • период между нажатием и отпусканием должен быть короче задержки перед включением автоповтора (обычно автоповтор включается, если клавиша удерживается более половины секунды, это зависит от настроек системы).

Что нового в этой версии

  1. Теперь для работы в Gnome 41 (и более свежих) не требуется включать Unsafe Mode (путём установки расширений Unsafe Mode или Unsafe Mode Enabler). Однако, вместо этого требуется установка расширения Agism. Нет, это не замена шила на мыло: Agism не открывает бэкдор (Unsafe Mode) для бесконтрольного доступа к внутренностям Gnome, а предоставляет специальное окно, через которое можно только посмотреть список раскладок и/или активировать одну из них.

  2. Tapper теперь может эмулировать нажатия клавиш. Функциональность для переключалки клавиатурных раскладок, казалось бы, лишняя, но она предоставляет дополнительные функции, которые укладываются в изначальную идею Tapper — дать клавишам-модификаторам вторую функцию. Например, с помощью Tapper Menu может быть одновременно и «клавишей выбора 3-го ряда» (если нажата в комбинации с другой клавишей) и клавишей Compose (при ударе по клавише), правый Аlt при этом может быть просто альтом, симметричным левому. Второй пример: «выбор 3-го ряда» и Compose повесить на правый Alt, а клавише Menu вернуть её «исконную» функцию открытия контекстного меню. См. примеры.

  3. Теперь Tapper сбрасывает привилегии, если они не требуются для работы. Например, в X Window System, Tapper работает от имени запустившего его пользователя. См. детали.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: ilinsky (всего исправлений: 3)

Ответ на: комментарий от papin-aziat

По поводу клавиши меню вопрос отпал, когда заглянул в dconf-editor.

Классная тема, спасибо! В гноме вечно какие-то неудобства помелочи, например назначаешь оба-shift переключать раскладку, но он переключает только слева-направо, обратно нет, и добавлять настройку в xorg.conf.d не помогает.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Я ничего не понял. Если хочешь помощи, то пиши по одной проблеме за раз, медленно и с подробностями. Тебя баг репорты писать учили? Вот и действуй, как по учебнику:

  1. Версия твоей ОСи. (Ладно, я понял, Красная Шапка 8.)
  2. Твой ДЕ и его версия. (Ладно, я понял, что Гном 3.28 и 3.32.)
  3. Версия Таппера. (А то я что-то сомневаюсь что у тебя последняя 0.6.1. Она без Агизма не работает, а в манифесте Агизма указаны версии Гнома 40, 41, 42, т. е. Агизм в Гноме 3.28 запускаться, вроде, не должен. Таппер 0.5.0 работает без Агизма, поэтому неясно кто булькает и почему.)
  4. Цитируешь полную командную строку запуска Таппера со всеми параметрами.
  5. Цитируешь его вывод.

Далее описываешь словами что по твоему мнению работает не так.

По поводу звука: Меня «бульк» устраивает. Я понимаю, что звук может раздражать, поэтому сделал возможность его выключения. Запросов на смену звука пока не поступало, поэтому возможности сменить звук нет. (Более того, Таппер начинал с Иксов, а в Xkb есть возможность издать только один звук, «bell». Когда появилась гномовская часть Таппера, была задача сделать похоже на иксы.) Далее, Таппер читает конфигурацию только однажды, при старте. Поэтому если ты что-то изменил в конфиге, то надо перезапускать Таппер, на лету он конфигурацию не перечитывает.

По поводу автостарта: У меня работает. Таппер 0.6.0 спокойно переживает перезапуск Гномощели и может работать при её временном или постоянном отсутствии, раскладки, естественно, в таких условиях не переключаются, но как только Гномощель появится, будут переключаться и раскладки. Поэтому давай по-протоколу: что запускал, где запускал, как запускал, какой вывод. Ну, ты понял.

Про клавишу Меню: Вообще ничего не понял. Кто на ком стоял?

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Тебя баг репорты писать учили?

Нет, мне это не надо, я не из этой тусовки :-)

Версия твоей ОСи.

AlmaLinux 8.6

Твой ДЕ и его версия.

GNOME Shell 3.32.2

Версия Таппера.

$ tapper --version
Tapper 0.6.1.

Агизм в Гноме 3.28 запускаться, вроде, не должен.

Расширение стоит и, если его отключить, то таппер не работает.

Таппер 0.5.0 работает без Агизма

В репозитории только 0.6.1.

$ grep baseurl _copr\:copr.fedorainfracloud.org\:vandebugger\:tapper.repo baseurl=https://download.copr.fedorainfracloud.org/results/vandebugger/tapper/epel-8-$basearch/

Далее описываешь словами что по твоему мнению работает не так.

Всё работает отлично. Протестировал из командной строки, убедился, что работает, добавил в автостарт.

(Про версию 0.5.0 понял. Как раз хотел спросить, зачем мне расширение и можно ли без него)

Меня «бульк» устраивает. Я понимаю, что звук может раздражать, поэтому сделал возможность его выключения.

Я его и не включал, таппер игнорирует настройку в dconf, я проверил с перезапуском. (Звук меня устраивает) На всякий случай перезапустил — булькает, хотя и выключен звук:

$ gsettings get io.sourceforge.kbd-tapper bell
'disabled'

По поводу автостарта

Просто добавил через gnome-tweaks, перелогинился и таппера среди процессов нет, на всякий случай ещё разок перелогинился, нет.

Вставил задержку 3 секунды в дескоп-файл (который в каталоге autostart) и теперь всё работает:

Exec=sh -c "sleep 3; /usr/bin/tapper --quiet"

Про клавишу Меню

Через gnome-tweaks я переназначил её как правый контрол. Вот на такой вариант таппер как на контрол не реагирует (мне пофиг, я уже использую шифты), но заглянув в dconf-editor я понял, что это можно решить просто указав клавишу меню для определённой раскладки, кароче проблемы нет вообще.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

AlmaLinux 8.6

Я нашёл образы Альмы. Есть кое-что мне непонятное в твоих ответах, но, наверное, легче будет мне в виртуалку Альму поставить и самому посмотреть почему звук не выключается и автозапуск не работает.

По поводу клавиш есть простой способ:

$ tapper --show-taps

Далее жмякаешь на кнопки и смотришь как они опознаются таппером. Это на случай всяких переназначений.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Я нашёл образы Альмы.

Зачем? Это тупо клон шапки.

Есть кое-что мне непонятное в твоих ответах, но, наверное, легче будет мне в виртуалку Альму поставить и самому посмотреть почему звук не выключается и автозапуск не работает.

Про автозапуск ты же сам где-то пишешь, что могут быть проблемы, вот они и есть видимо. Я же просто добавил десктоп-файл в каталог автозапуска через gnome-tweaks (потом его подредактировал).

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Это на случай всяких переназначений.

Вообще ничего больше не надо, программа — огонь, где ты раньше был… Поставил шифты: левый EN, правый RU, — просто песня! Такое необходимо в мейнстрим, в гноме туго как-то на этой тему.

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Не нашёл на копре готового пакета версии 0.5.0 для энерпрайза, может туплю, шарил здесь: https://download.copr.fedorainfracloud.org/results/vandebugger/tapper/

Взял tapper-0.5.0-0.vdb.1.fc33.src.rpm, пересобрал моком (на всякий случай, наверное и так бы работало, просто есть под рукой настроенный mock), все отлично без ошибок. Протестировал, работает как надо, звук стал включаться и выключаться, оставлю себе этот вариант. Если соберёшь эту версию для шапки-8 на копре, то отпишись, я тогда твой поставлю.

Для автозапуска тоже колдовать больше не надо, нормально стартует вот так:

Exec=tapper --quiet

два раза перелогинился, стартует.

Зато теперь без ненужного мне расширения, и памяти потребляет полтора мегабайта вместо трёх с половиной. Супер!

papin-aziat ★★★★★
()

Люди совсем с ума сошли. Напридумали всякой ерунды. И все для того, что не использовать старого-доброго setxkbmap -layout "us,lt,ru" -option "grp:menu_toggle".

Odalist ★★★★★
()

Винду уже можно сносить? Или пусть пока поживет..?

DanilaZabiakaa
()
Ответ на: комментарий от Odalist

В том-то и дело, что toggle, тут совсем другая фишка, и я лично давно такое хотел, идея бомбическая.

Вроде я не ленился гуглить на тему переключалок, но так ничего и не нашёл толкового.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Зачем? Это тупо клон шапки.

Шапки-то у меня нет. А чтобы триал получить, надо регистрироваться. Так что мне проще образ Альмы скачать.

Вообще ничего больше не надо, программа — огонь, где ты раньше был…

Здесь и был. :-) Первое упоминание Таппера на ЛОРе — в 2015 году. Но быть евангелистом и рассказывать людям что включатели раскладок заруливают переключатели по всем статьям мне быстро надоело. Всегда найдётся пациент, никогда не пробовавший ананасы удобные включатели, но рассказывающий что ему и так хорошо. Ну, привык человек по граблям ходить — так и хрен с ним, пусть дальше ходит. Это как со слепой печатью — пока сам не освоишь, не поймёшь насколько это кайфово.

Такое необходимо в мейнстрим…

Я одно время подумывал для начала в Русскую Федору предложить, но пока я думал, она [Русская Федора] умерла.

…в гноме туго как-то на этой тему.

На тему включения раскладок модификаторами везде туго, не только в Гноме. Нигде нет штатных средств включения раскладок модификаторами. Даже в Винде.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Первое упоминание Таппера на ЛОРе — в 2015 году.

Мда, век живи, век учись… Странно, что нигде мне в гугле не попадалось.

Я уже давно смирился, что переключение раскладки, это как бы обязано быть чем-то неудобным. Про сочетания молчу, это в принципе неудобно, и остаётся либо капслок либо меню, но капслок таки нужен сам по себе, а меню на клаве может и не быть, и расположение этой клавиши очевидно не фиксировано стандартами.

Очень долго пытался окончательно привыкнуть к вин-спейс, но все равно два шифта заруливают, и как, сцуко, на зло, они в гноме только слева-направо работают.

Я одно время подумывал для начала в Русскую Федору предложить, но пока я думал, она [Русская Федора] умерла.

Дык вроде не просто умерла, а влилась в rpmfusion или саму Федору, может стоит попробовать законтачить.

Нет никаких сомнений, что такая программа просто обязана существовать и быть доступной из репозиториев.

Другое дело, что очень сложно преодолевать ригидность традиций. Часто мы (и в массе, и по одному) просто не способны осознать полезность и простоту чего-то, и так и продолжаем десятилетиями, веками, а то и тысячелетиями делать не необходимые вещи да ещё и каким-то неудобным способом, пока как-то так не повернется жизнь, что начинаем делать иначе и искренне удивляемся своему как будто пробуждению.

Мне нравится рефлексировать об этом и я постоянно задаюсь вопросом, сколько ещё вещей я делаю в жизни совершенно напрасно или неудобно и, к сожалению, не имею никакой возможности это осознать, пока кто-то или что-то не укажет на это явно.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Про бульк: Это я накосячил, теперь (0.6.2) исправлено и отключается, как должно.

Про 0.5.0 на копре: ХЗ, билд помечен как успешный, почему нет пакета — понятия не имею.

Про 0.5.0 вообще: Да, эта версия не требует расширения для работы в Гноме, но там свои проблемы. Во-первых, там не вполне канонично сделано взаимодействие с Гномом через Д-Бус, поэтому изредка могут быть проблемы. Ещё та реализация не будет работать в Гноме 41 и выше, т. к. метод Eval в сорок первом Гноме не работает. Проблему можно окостылить другим расширением (UnsafeMode или UnsafeMode Enabler), но, имхо, прямее поставить Агизм и новый Таппер, чем включать UnsafeMode.

Про автозапуск: Я поленился ставить Альму — я думал, там живой образ, а там, похоже, установщик. Есть ли какой-нибудь клон Шапки с живыми образами? У меня проблем с автозапуском не наблюдается. Если у тебя будут проблемы — пиши, я расскажу как включать отладку и собирать логи.

По поводу памяти: Странно, у меня не наблюдается значительной разницы в потреблении памяти между версиями. Таппер сразу после старта жрёт чуть более мегабайта, потом потихоньку снижается до < 900 k. Я поначалу офигел — думал что-то слишком много, но потом посмотрел на i-bus, который запускается автоматом, порождает 7 процессов, нихрена не делает, и при этом жрёт под 50 мегабайт, и успокоился.

debugger ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

…но капслок таки нужен сам по себе…

А мне понравилось использовать два шифта для включения капслока. Клавиша капслок освободилась, но для чего её использовать я так и не придумал. Одно время повесил на неё бакспейс, но чёт так и не привык. Был бы вимером — повесил бы на неё ескейп…

…но все равно два шифта заруливают, и как, сцуко, на зло, они в гноме только слева-направо работают.

Два шифта в качестве капслока в Гноме работают в любом сочетании — хоть слева направо, хоть наоборот. Раскладку я двумя шифтами переключать не пробовал.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Про 0.5.0 на копре: ХЗ, билд помечен как успешный, почему нет пакета — понятия не имею.

Не смог найти. Спек есть, логи есть, а пакетов нет никаких, даже src.rpm.

Во-первых, там не вполне канонично сделано взаимодействие с Гномом через Д-Бус, поэтому изредка могут быть проблемы.

Пока норм, замечу — отпишусь.

Ещё та реализация не будет работать в Гноме 41 и выше, т. к. метод Eval в сорок первом Гноме не работает. Проблему можно окостылить другим расширением (UnsafeMode или UnsafeMode Enabler), но, имхо, прямее поставить Агизм и новый Таппер, чем включать UnsafeMode.

В моём случае пока не актуально, но если перелезу на федору или девятую шляпу, то конечно поставлю последнюю версию.

Есть ли какой-нибудь клон Шапки с живыми образами?

https://wiki.almalinux.org/LiveMedia.html#about-live-media

У меня проблем с автозапуском не наблюдается.

У меня тоже, проблема была в версии 0.6.1

По поводу памяти: Странно, у меня не наблюдается значительной разницы в потреблении памяти между версиями.

Да я просто в gnome-system-monitor смотрел, там приблизительно, но 0.6.1 показывал 3.5 мегабайта.

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

А мне понравилось использовать два шифта для включения капслока.

Внатуре классная тема! Оставлю, а то вечно когда идут вперемежку контрол, шифт, капслок и табуляция в потоке, да ещё и ё/`/~, то начинаю путать (слепая в обоих раскладках, на мизинцы большая нагрузка). Тем более, что теперь у меня шифты освободились, спасибо за идею.

Два шифта в качестве капслока в Гноме работают в любом сочетании — хоть слева направо, хоть наоборот.

Подтверждаю, отлично!

papin-aziat ★★★★★
()

тихо и незаметно

Не надоело еще?

baobab
()
Ответ на: комментарий от debugger

Про 0.5.0 вообще: Да, эта версия не требует расширения для работы в Гноме, но там свои проблемы. Во-первых, там не вполне канонично сделано взаимодействие с Гномом через Д-Бус, поэтому изредка могут быть проблемы.

Да, забыл спросить, там есть в релизах версия 0.4.4 для восьмерки, может лучше эту версию поставить мне?

https://download.copr.fedorainfracloud.org/results/vandebugger/release/epel-8-x86_64/01369990-tapper/

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Да, забыл спросить, там есть в релизах версия 0.4.4 для восьмерки, может лучше эту версию поставить мне?

Гм… Странный вопрос. Откуда я знаю, что тебе лучше?

Если хочешь, то ставь. Мне от этого ни тепло, ни холодно. Изменения я старался документировать в NEWS.md, если в более новых версиях для тебя нет ничего интересного, то велкам юзать старую. Однако, ты должен понимать, что если там что-то будет не так, то мне тратить время на поддержку старой версии будет не интересно, и первое, что я тебе скажу будет: «Поставь последнюю версию».

debugger ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

В смысле может там нет проблем с D-Bus, о которых ты говоришь.

Есть. Ну, там не вот чтобы прям проблемы, а, скорее, не совсем правильная работа, которая может изредка проявляться. В любом случае — это же всего лишь переключалка клавиатуры, даже если она грохнется, это не грозит потерей ценных данных. Всегда же можно переключить раскладку мышкой через индикатор и перезапустить Таппер.

В качестве рекламы: Использование свежих версий Таппера (0.6.x) в Гноме имеет то преимущество, что при вводе пароля у тебя всегда будет английский язык (при условии, что английская раскладка — первая, что обычно и есть).

Кстати, о евангелизме:

Сегодня появился тред индикатор раскладок клавиатуры. Человек написал очередной индикатор. Другой человек говорит, что хотелось бы иметь функционал пунто-свитчера.

Встревать в их разговор, пытаться объяснить что при использовании правильного переключателя (ну, ты понял, какого именно) не нужен ни индикатор, ни функционал пунто-свитчера?

debugger ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

В том-то и дело, что toggle, тут совсем другая фишка, и я лично давно такое хотел, идея бомбическая.

Теоретическое обоснование недостатков переключателей (toggle) есть у Дж. Раскина в книге «Интерфейс: новые направления в проектировании компьютерных систем». Только должен предупредить: русский перевод отвратительный: разные английские термины на-русский переведены одним и тем же словом, в результате получается невразумительная каша. Лучше читать оригинал. На рутрекере есть и оригинал, и перевод.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Использование свежих версий Таппера (0.6.x) в Гноме имеет то преимущество

Ок, буду иметь в виду, хотя я паролей и не использую в системе.

при вводе пароля у тебя всегда будет английский язык (при условии, что английская раскладка — первая, что обычно и есть)

Так будет работать при глобальной переключалке в гноме? Ведь общем эта проблема решается в настойках «Input Source Options –> Allow different sources for each window». Однако в гноме (не знаю как в новых версиях) есть такой косяк, что если перезагрузишь gnome-shell, то почему-то включает русский пока не дёрнешь Overview, баг наверное.

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Человек написал очередной индикатор. Другой человек говорит, что хотелось бы иметь функционал пунто-свитчера.

Ха, вот как раз хотел тебе сказать, что очень не хватает такого функционала, чтобы назначать на определённую программу конкретную раскладку, ибо есть программы, где я никогда не юзаю русский и наоборот.

Хотя вот по мере привыкания к тапперу, я уже задумываюсь о переходе на глобальный вариант (тем более что в гноме на иксах есть небольшая проблема: легкая задержка при переходе в овервью из-за автоматического переключения с русского на английский).

Ведь какая проблема в варианте toggle в случае глобальной раскладки?! Надо либо помнить на каком языке ты писал последний раз, либо смотреть на индикатор раскладки прежде чем писать что-то. Первый вариант можно сразу отбросить как дурацкий, а второй почему-то для меня очень навязчивый, тем более что в гноме индикатор прибит гвоздями в правый угол и никто не написал расширения, чтобы его можно было сдвинуть в центр. А вариант дёргать Super+Space и смотреть на OSD (например, если скрыть top bar или в полноэкранном режиме программы [F11]), совсем плохой, ибо переключение происходит по любому.

Внезапно таппер даёт своршенно иной подход, действительно подобный виму, где уже тупо выработалась привычка прежде любого действия жмякнуть ESC. Теперь я осознаю, что мне (наконец-то!!!) не нужен индикатор вообще, совсем; мне не надо помнить язык, на котором я писал; мне не нужен больше костыль с запоминанием раскладки для окна, ибо я его использовал не для запоминания, а для того, чтобы открыв Overview или другую программу я гарантированно получал какую-то одну и ту же раскладку и действовал соответственно.

Теперь мне достаточно осознать на каком языке я собираюсь писать и, положив руки в позицию слепой печати, просто жмякнуть соответственный Shift (левый – EN, правый – RU), и не важно какая была раскладка до этого, — я гарантированно получаю нужную. Бро, это тема!

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Теоретическое обоснование недостатков переключателей (toggle) есть у Дж. Раскина

Я не компьютерщик (музыкант, ща вообще ушёл с головой в преподавание), сейчас в голову не влезет. Хотел только сказать, что часто зависаю и размышляю, как можно нечто делать на компьютере (в линукс, разумеется) удобнее или хотя бы непротиворечиво. В каком-то софте дела идут неплохо, с гноме тоже многое идет хорошо, но есть ряд вещей, где вот никак не получается нормально настроить или приспособиться и приходится терпеть. И вот переключения языков — совершенно кривая тема, я смирился и списал это на тот ряд случаев, где надо просто принять некоторые несовершенства этого мира. Но вот таппер, внатуре, даёт надежду продвинутся в этом вопросе, а возможно и совсем закрыть. Время покажет, надо ещё привыкнуть до автоматизма.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Ок, буду иметь в виду, хотя я паролей и не использую в системе.

Я, похоже, неправильно высказался. Я имел ввиду ввод пароля, чтобы разлочить экран.

Дело обстоит так: Агизм — расширение Гнома; гайдлайны требуют, чтобы расширение выключалось когда вызывается метод disable; Гном дизаблит все расширения, когда лочит экран; когда Агизм дизаблится, он включает первую раскладку; резюме: когда печатаешь пароль чтобы разлочить экран, у тебя будет первая раскладка при использовании Таппера 0.6.x.

Ведь общем эта проблема решается в настойках «Input Source Options –> Allow different sources for each window».

Не знаю, я никогда не пользовал этот режим. При включалке раскладок он не нужен. Ты сам это уже понял.

Ведь какая проблема в варианте toggle в случае глобальной раскладки?! Надо либо помнить на каком языке ты писал последний раз, либо смотреть на индикатор раскладки прежде чем писать что-то.

Неглупый дядька Раскин расписал это в 2000 году (а дошёл до этой мысли он наверняка ещё раньше). В качестве примера он рассматривал клавишу КапсЛок. С переключалкой раскладок дело ещё хуже, т. к. она используется гораздо чаще КапсЛока.

…и не важно какая была раскладка до этого, — я гарантированно получаю нужную. Бро, это тема!

+1 в касту просветлённых. Можешь в качестве эксперимента попробовать донести эту мысль до кого-нибудь, кто ещё не проникся. Тем более, что ты — преподаватель.

Я не компьютерщик (музыкант…

Чёрт, где бы художника найти? Чтоб иконку нарисовал.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

В качестве примера он рассматривал клавишу КапсЛок.

Да, задумался над капслоком… Кстати, опять же, вот именно из-за этой проблемы я обязательно использую индикатор капслока. Впрочем, может лучше его и не трогать, ведь не часто приходится использовать, вернее точечно, и уже приучил себя, написав что-то капсом — выключи!

Можешь в качестве эксперимента попробовать донести эту мысль до кого-нибудь, кто ещё не проникся.

При случае так и будет, можешь не сомневаться. Вот только я высказывался уже выше на тему традиций. К тому же человек, что лошадь в той поговорке: «ты можешь подвести лошадь к водопою, но не можешь заставить пить.» :-(

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

+1 в касту просветлённых.

Точняк, только что до меня дошло, что я могу назад вернуть итальянскую, в которой приходится нередко набирать (редко французскую), но пришлось отказаться в пользу клавиши Compose, ибо вариант держать эти раскладки на постоянной основе при классической переключалке ни в какие ворота не лезет.

papin-aziat ★★★★★
()

А насколько сложно добавить перекодировку буфера в другую раскладку? Всё-таки иногда бывает такая ситуация.

greenman ★★★★★
()
Ответ на: комментарий от alt-tab-let

были же какието ноуты с акселерометром, основной целью была парковка винта в момент падения, однако neverball об него сделали

я, кстати, все это пишу безотносительно сабжа

wd
()
Ответ на: комментарий от greenman

А насколько сложно добавить перекодировку буфера в другую раскладку? Всё-таки иногда бывает такая ситуация.

А потом кто-нибудь попросит переключать раскладку автоматом, в зависимости от набираемого текста. Зачем же мне изобретать велосипед xneur?

Понятия не имею насколько это сложно. Я этого делать точно не буду. Звучит избито, но «это не нужно». При двух условиях:

  1. Включение раскладок контролами (левый контрол — английская, правый — русская; или шифтами) быстро приводит к выработке автоматизма: ты собираешься печатать по-русски — жмякаешь правый контрол, собираешься печатать по-английски — жмякаешь левый контрол. Это происходит несознательно. Люди, владеющие слепой печатью, не думают о том, какую клавишу нажать. То же самое с включателями раскладок — ты не думаешь об этом, руки сами включают нужную раскладку.

Первое условие выполнить очень легко, и 99% ошибок типа ghbdtn уходят. (Стоит ли из-за оставшегося 1% городить огород с перекодировкой?)

Если же 99% устранённых ошибок мало, то:

  1. Слепой десятипальцевый набор — тогда при наборе текста будешь глядеть на экран, а не на клавиатуру, и увидишь ошибку после набора первой же буквы (если это не буква «с»).

Второе условие требует значительных усилий, но это вознаграждается кайфом, получаемым от процесса печати.

Да, распределение 99% + 1% я взял с потолка. На самом деле, конечно, я эти проценты не измерял. Но мой опыт подсказывает, что, начав переключать раскладки контролами, мыслей о нужности перекодировки буфера не возникает. (По крайней мере, у меня за 8 лет не возникло.) Более того, если вдруг по какой причине приходится переключать раскладки другим способом (например, штатным Win+Space на чужой машине, или Ctrl+Shift), возникает настоящая ломка.

debugger ★★★★★
() автор топика
Ответ на: комментарий от papin-aziat

…я обязательно использую индикатор капслока.

Музыкант, паять умеешь? Я заменил в своей клавиатуре блёклые светодиоды одного цвета на яркие и разноцветные:

  • NumLock — зелёный. Потому что он постоянно включен, а зелёный воспринимается как разрешающий.
  • CapsLock — красный. Потому, что он редко включен, а если включен, то, скорее всего, по ошибке, и красный цвет воспринимается как настораживающий и запрещающий.
  • ScrollLock — синий. Потому что не зелёный и не красный. (Уже не помню, возможно, жёлтого у меня не было, а белый я не хотел.)

Светодиоды яркие, со светорассеивателями, глаз не выжигает, но боковым зрением их видно. Прикольно, хотя, конечно, баловство. Так как не помогает. Если индикатор не расположен прямо в точке ввода, куда ты смотришь, а надо отводить взгляд и специально на него смотреть, чтобы принять решение о последующий действиях — то автоматизму кранты.

…я могу назад вернуть итальянскую, в которой приходится нередко набирать (редко французскую)…

Можешь. Две на шифты, две на котролы — технически, без проблем… Но держать в уме 4 раскладки, причём 3 из них — Latin-based?! Да ты чёртов гений!

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Музыкант, паять умеешь?

Издеваешься! Нет, конечно. И не собираюсь учиться.

Прикольно, хотя, конечно, баловство. Так как не помогает.

Именно. У меня была клава с индикаторами, и я назначал такие индикации, без толку, я уже лет 12 на клаву не смотрю…

Если индикатор не расположен прямо в точке ввода, куда ты смотришь

Ну вот расширение для гнома, где капс выскакивает жирной иконкой справа вверху, вроде всегда улавливается боковым зрением.

В кедах вообще есть штатный индикатор, правда не очень заметный, зато звук даёт!

За звук у таппера тебе особый респект. Не знаешь как в гноме приделать звук к капсу?

Я вот никак не могу понять, почему все эти важные события дизайнеры не располагают посередине и не сопровождают звуком, миганием экрана и тд, саботаж, троллинг!

Да ты чёртов гений!

Увы, анализы не подтверждают :-)

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Ну вот расширение для гнома, где капс выскакивает жирной иконкой справа вверху, вроде всегда улавливается боковым зрением.

Обрати внимание: там есть два расширения с одинаковым названием Lock Keys, автор первого fawtytoo, автор второго — kazimieras.vaina.

Первое мне не нравится тем, что оно добавляет и убирает иконки из верхней панели, в результате чего половина других иконок прыгает то влево, то вправо. Это дёрганье меня раздражает.

Второе расширение мне нравится тем, что иконки всегда на панели, меняется только их яркость (зато остальные иконки стоят на месте, не дёргаются). Кроме того, это расширение умеет выводит нотификацию (которую можно отключить).

Не знаешь как в гноме приделать звук к капсу?

Я думаю, что тривиально добавить звук к расширению типа Lock Keys. Чтобы не плодить расширения, лучше бы для начала попросить кого-нибудь из авторов этих Lock Keys.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Второе расширение

(Пишу с мобилы) видимо у меня оно, так как это всё есть, только я как раз делаю, чтобы выскакивало, — такое поведение хорошо ловится боковым зрением.

попросить кого-нибудь из авторов этих Lock Keys

Хорошая мысль, только реализовано это будет в новых версиях, а у меня старый гном.

Может ты как программист подскажешь самый простой вариант, как можно перехватить это событие и прицепить к нему звук с помощью баша или системД. Может я смогу разобраться как-нибудь.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Самый простой вариант я тебе уже подсказал — исправить расширение Lock Keys. Если чисто для себя — добавить звук, то можно обойтись буквально одной строчкой:

global.display.get_sound_player().play_from_theme( "bell", "Caps Locked", null );

В том расширении, которое тебе нравится, всего 60 строк. Расширение лежит в ~/.local/share/gnome-shell/extensions/lockkeys@fawtytoo. Я думаю, догадаешься, куда строчку воткнуть.

Если делать более цивильно (настройку чтобы звук можно было включать/выключать), но для внутреннего употребления сойдёт и без настроек.

Хорошая мысль, только реализовано это будет в новых версиях, а у меня старый гном.

Это расширение. Новая версия расширения может работать и в старом гноме.

debugger ★★★★★
() автор топика
Последнее исправление: debugger (всего исправлений: 2)
Ответ на: комментарий от debugger

Спасибо. У меня не lockkeys@fawtytoo, второе, и там не 60 строчек, за 300. Куда вставить строчку ума не приложу, у меня никаких даже самых отдалённых представлений об этом языке (javascript?). Попробую методом тыка. Я так понимаю, что речь идет о файле extension.js.

А расширение от fawtyto прикольное, более простое, оставлю себе, и иконка выскакивает более заметная. Куда копировать твою строчку не ясно.

papin-aziat ★★★★★
()
Последнее исправление: papin-aziat (всего исправлений: 1)
Ответ на: комментарий от papin-aziat

Куда копировать твою строчку не ясно.

$ diff -u extension.js.ORIG extension.js 
--- extension.js.ORIG	2022-06-09 15:22:34.511613887 +0300
+++ extension.js	2022-06-09 15:24:53.903608283 +0300
@@ -146,12 +146,14 @@
 		    let notification_text = _("Num Lock") + ' ' + this.getStateText(this.getNumlockState());
             let icon_name = this.getNumlockState()? "numlock-enabled-symbolic" : "numlock-disabled-symbolic";
             this.showNotification(notification_text, icon_name);
+			global.display.get_sound_player().play_from_theme( "bell", "NumLock", null );
 		}
 
 		if (this.capslock_state != this.getCapslockState() && this.config.isNotifyCapsLock()) {
 			let notification_text = _("Caps Lock") + ' ' + this.getStateText(this.getCapslockState());
 			let icon_name = this.getCapslockState()? "capslock-enabled-symbolic" : "capslock-disabled-symbolic";
             this.showNotification(notification_text, icon_name);
+			global.display.get_sound_player().play_from_theme( "bell", "CapsLock", null );
 		}
 
 		this.updateState();
debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Не хочет булькать :-(

Из моего (с твоим выхлопом совпадает):

$ diff -u extension.js-ORIG extension.js
--- extension.js-ORIG	2022-06-09 21:38:27.674958815 +0300
+++ extension.js	2022-06-09 21:51:10.862489924 +0300
@@ -146,12 +146,14 @@
 	let notification_text = _("Num Lock") + ' ' + this.getStateText(this.getNumlockState());
        let icon_name = this.getNumlockState()? "numlock-enabled-symbolic" : "numlock-disabled-symbolic";
        this.showNotification(notification_text, icon_name);
+	global.display.get_sound_player().play_from_theme( "bell", "NumLock", null );
 		}
 
 if (this.capslock_state != this.getCapslockState() && this.config.isNotifyCapsLock()) {
 	let notification_text = _("Caps Lock") + ' ' + this.getStateText(this.getCapslockState());
 	let icon_name = this.getCapslockState()? "capslock-enabled-symbolic" : "capslock-disabled-symbolic";
        this.showNotification(notification_text, icon_name);
+	global.display.get_sound_player().play_from_theme( "bell", "CapsLock", null );
 		}
 
 	this.updateState();

На всякий случай проверил, может пробелы надо было в Num Lock и Caps Lock по аналогии, но тоже нет.

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Вроде обычно хватает перегрузить щель, но, чтобы без осечки, перезагрузил комп :-)

Не булькает, сцуко :-(

Таппер звучит, терминал тоже, трансмишн динькает, а вот, кстати, звучащих расширений я что-то не припомню.

papin-aziat ★★★★★
()
Ответ на: комментарий от debugger

Разобрался!

Всё работает, отлично, спасибо большое!

Создал свежего юзера и у него булькает, буду разбираться, где чего отключил.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Упс, оказывается, если отключить Notifications в LockKeys, то и звук тоже пропадает: либо compact, либо OSD :-(

Ёлки, ну добавь ещё пару строчек, это же очевидно. Не надо быть Дейкстрой, достаточно мало-мало английский знать:

if (this.numlock_state != this.getNumlockState() && this.config.isNotifyNumLock()) {
    let notification_text = _("Num Lock") + ' ' + this.getStateText(this.getNumlockState());
    let icon_name = this.getNumlockState()? "numlock-enabled-symbolic" : "numlock-disabled-symbolic";
    this.showNotification(notification_text, icon_name);
}

Первая строчка: Если состояние лока изменилось И показ нотификации разрешён, то…

Скопируй первую половину этого условия, будет тебе «бип» без нотификации:

if (this.numlock_state != this.getNumlockState()) {
    // ...play... 
}
// старые пять строчек

Или, чуть сложнее но без повторного вычисления условия (внесёшь свой вклад в экономию электроэнергии):

if (this.numlock_state != this.getNumlockState()) {
    // ...play... 
    if (this.config.isNotifyNumLock()) {
        // три строчки старого кода, уже без оператора if
    }
}
debugger ★★★★★
() автор топика
Последнее исправление: debugger (всего исправлений: 1)
Ответ на: комментарий от debugger

Спасибо большое! Вот так отлично работает.

handleStateChange(actor, event) {
    if (this.numlock_state != this.getNumlockState()) {
        global.display.get_sound_player().play_from_theme( "bell", "NumLock", null );
        if (this.config.isNotifyNumLock()) {
	    let notification_text = _("Num Lock") + ' ' + this.getStateText(this.getNumlockState());
	    let icon_name = this.getNumlockState()? "numlock-enabled-symbolic" : "numlock-disabled-symbolic";
	    this.showNotification(notification_text, icon_name);
        }
    }
    if (this.capslock_state != this.getCapslockState()) {
        global.display.get_sound_player().play_from_theme( "bell", "CapsLock", null );
        if (this.config.isNotifyCapsLock()) {
            let notification_text = _("Caps Lock") + ' ' + this.getStateText(this.getCapslockState());
            let icon_name = this.getCapslockState()? "capslock-enabled-symbolic" : "capslock-disabled-symbolic";
            this.showNotification(notification_text, icon_name);
        }
    }
    this.updateState();
}

Странно, что никто не добавил такую простую возможность.

А если почитать какую-нибудь книжку для нубов по javascript, то можно будет примитивные расширения делать? А то я где-то читал, что там (в гноме) всё очень запутано и плохо документировано.

papin-aziat ★★★★★
()
Ответ на: комментарий от papin-aziat

Странно, что никто не добавил такую простую возможность.

Видимо, никто не просил автора расширения о такой возможности.

А если почитать какую-нибудь книжку для нубов по javascript, то можно будет примитивные расширения делать?

Можно. У Гнома есть неплохой гайд по JS и первым шагам в написании расширений.

А то я где-то читал, что там (в гноме) всё очень запутано и плохо документировано.

Гм, а ты сможешь назвать хоть один продукт, где всё просто и хорошо документировано?

Некоторые библиотеки документированы неплохо, т. к. интерфейс относительно стабилен а внутренности наружу не торчат. Но расширения — особое дело, так как имеют дело как раз с внутренностями.

debugger ★★★★★
() автор топика
Ответ на: комментарий от debugger

Спасибо, может руки дойдут хоть немного разобраться.

papin-aziat ★★★★★
()

и при ударе по назначенной клавише Tapper включает соответствующую ей раскладку клавиатуры

Есть истории успеха при числе раскладок >2?

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Дык это же включалки, следовательно даже на самой куцой клаве, где один контрол и один альт будет 4 свободных клавиши, а ещё с одним win — уже пять, считай неограниченно.

papin-aziat ★★★★★
()
Ответ на: комментарий от hobbit

Есть истории успеха при числе раскладок >2?

Строго говоря, нет. Я сам работаю с двумя раскладками, знакомые мне пользователи — тоже. Сторонние пользователи мне своих историй не присылали.

Теоретически Таппер позволяет использовать столько раскладок, сколько есть свободных клавиш на клавиатуре. Свободная клавиша — клавиша, одиночное нажатие на которую не имеет функции. На полноценной клавиатуре таких наберётся штук 5…7. Таппер работать будет, но будет ли счастлив пользователь — я могу об этом только догадываться. При количестве раскладок до 4 — я думаю, да, пользователь будет доволен; при большем количестве — хз.

Папин-азиат писал, что он использует 4 раскладки — английскую, русскую, французскую и итальянскую. Спроси у него, как ему работается с четырьмя раскладками.

debugger ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.