Pull to refresh

Comments 9

Было бы здорово, если бы сделать импорт конфига из AutoHotKey.
Вот этого?
Навскидку вижу тьюринг-полный язык под винду. С другой стороны, базовая абстракция «что нажимали» не описывает состояние (up|down|повтор).
Такое ощущение что под linux решаемые AutoHotKey проблемы просто не актуальны. Своих полно.
Сейчас фокусная задача — правильно ловить паттерны (не исключая описанную в комментариях к «прошлой серии» экзотику типа «Shift+Caps»). Дальше:
  • Во-первых, перенабор только что введённого в нужной раскладке. Эта задача осталась без решения в linux в 2019 году. И подвигла-таки меня заняться непривычным делом.
  • Прицепить хуки/плагины удобным образом. Раз уж всё равно взялся писать, это получится почти бесплатно. Зато позволит кому надо сразу решать задачу в предметной области, не разбираясь самому в исковой «лапше».

Пока надеюсь обойтись «декларацией блок-схемы». Полных по Тьюрингу языков в *nix и так «выше крыши».

Есть предложение всё-таки названия клавишь, вынести в отдельный подключаемый файл(можно положить рядом с конфигом и дать ему стандартное имя), где просто перечислить "физический_сканкод=имя_клавиши\n". Это даст большую гибкость при написании руками, и в случае чего можно всегда переназначить как пожелается, а не как захардкожено.

Отличная мысль.
А чтобы запускалось «из коробки», линковать дефолтные конфиги в ресурсы. Лишнюю пару кб в статически слинкованном бинаре вообще не видно.
Насколько я в курсе, golang данному фокусу обучен. Надо попробовать.
Невероятно полезный софт даже для простых, не свидомых в программировании и без глубоких познаний в линуксе пользователей!
Буду признателен за простую инструкцию по настройке горячих клавиш (где взять? куда положить? что дописать? и т.д.)
В моем же случае требуется две кнопки:
1.Переключение раскладки последнего слова и смена раскладки клавиатуры
2.Переключение раскладки всей строчки и смена раскладки клавиатуры
У меня пока работает только кнопка Pause/Break — которая меняет раскладку последнего слова.
Сейчас работает то что захардкожено в первой части.
Здесь я расписал проект «интерфейса» под финальную реализацию. Теперь — как в бородатом анекдоте про самолёт с бассейнами и т.п…
Т.е. нужно или подождать пока у меня дойдут руки всё это запилить. Или самостоятельно влезть в код и переписать «хоткеи» как удобно. Т.к. код на golang безо всяких «гениальных изысков», влезть и поправить по мелочам — вполне доступно даже для начинающего.
  • Про «всю строку» я пока не делал, т.к. это не типовая для слепого набора проблема. А для «выделить строку и перепечатать в другой раскладке» есть вполне рабочие скрипты. См. ссылки в комментариях к предыдущей части.
  • Но т.к. подобных вопросов довольно много, родилась другая мысль: менять раскладку «последнего набитого». Т.е., добавить опцию «группировать ввод по метке времени» — при слепой печати у некоторых коллег реально получается «пулемёт» из нескольких слов. И только затем настигает осознание что «что-то пошло не так»…
Поставил бинарник из GIT на пробу, т.к. в AUR имеет место какой-то другой xswitcher-git (или то самый?) Пока работает, посмотрю на предмет побочных эффектов, которыми был так богат xneur.
О, эта тема как раз недавно всплывала в тикете к far2l про поддержку быстрого поиска по Alt+буквы вне зависимости от раскладки клавиатуры. Вопрос такой: а в Wayland это всё можно как-то реализовать?
Нужны соответствующие интерфейсы. Весной 2020 их либо не было совсем, либо они не успели попасть в документацию.
  • К упомянутому тикету первая реализация xswitcher не слишком подходит. Потому что я «избавился от головной боли отсечением головы». Низкоуровневый кейлоггер из-под рута собирает скен-коды. И аналогично заталкивает обратно, подключая виртуальную клавиатуру. Такой подход имеет нюансы (e.g. нельзя корректно обработать автоповторы, а у меня в текущем PoC возможен пропуск событий из-за неверно /зато быстро/ применённых регулярок). Но принципиально — наименее глючен. Т.к. никак (кроме отправки команды на смену раскладки) не манипулирует окнами. Хотел было и без этого обойтись, но смена раскладки через dbus (e.g. ctrl+alt+k в KDE) даёт 300…500 мс лаг.
  • Wayland изначально не позиционируется как оконная система (как я понял). Только «рисовалка». Нужно «Wayland + что-то еще». Все эти VNC, RDP, пунто свитчеры должен обслуживать соответствующий оконный менеджер. Не подскажете, кто этим занимается для Wayland?
  • del Невнимательно посмотрел на тикет: «независимо от раскладки».
Sign up to leave a comment.

Articles