Pull to refresh

Comments 59

Решение проблем с переключением по Alt+Shift — переключение по Caps.


setxkbmap -query                                                                                                                       
rules:      evdev
model:      pc105
layout:     us,ru
options:    terminate:ctrl_alt_bksp,grp:caps_toggle,grp_led:caps,grp:caps_toggle
В вышеприведенном скриншоте также есть возможность настроить переключение по Caps Lock. Чем, собственно, и пользуюсь

На правах анекдота. Не пользовался капсом по исходному назначению несколько лет. В последнее время возникла потребность в редактировании bash-скриптов, CMake-конфигов и прочих Dockerfile'ов. И тут я обнаружил как удобно нажать один раз капс и спокойно вводить имена env-переменных (ну, за исключением символа '_') одной рукой, а в то же время с помощью другой продолжать жрать булочку!!

Shift-Caps включает-выключает искомую функцию. Без отрыва от булочек.

По моему ощущению, меньше нервов уходит, когда доешь булочку, помоешь руки и с комфортной скоростью наберёшь всё, что требуется, двумя руками.

Обычно если одной рукой жрат булочку, то другой пит кофе, и набират буквы — проблема ;)

Эта проблема наблюдается не только на Electron-based приложениях. Этим грешит сам X11. И проблемы кратковременной потери фокуса наблюдаются не только при Alt+Shift комбинациях. При любых настройках смена раскладки клавиатуры уводит на доли секунды фокус с поля ввода. Как же меня бомбануло, когда я начал пользоваться tabsbook плагином для хранения заметок в браузере… В нем нужно вписать теги в pop-up окошке, которое… закрывается при уводе фокуса! Т.е. теги на двух языках вписать попросту нельзя.


Эта проблема иксов висит багом уже несколько лет… Сейчас лень гуглить. Емнип, с 2008 года. И эту проблему решает (неожиданно) Wayland!

UFO just landed and posted this here
UFO just landed and posted this here
Если пролистать обсуждение по ссылке до конца, можно наткнуться на неофициальный патч (PPA), портированный под последние убунту-образные дистрибутивы. В частности, у меня на Mint 19.2 MATE сработал отлично, проблема, поднятая в статье, решилась без сторонних утилит.
Я в своё время тоже находил этот патч, но у меня почему-то не сработало.
Это называется «придумываем себе проблему, потом героически её решаем». Просто для переключения языков надо пользоваться модификаторами, которые при одиночном нажатии не меняют состояние программ. Эта комбинация выглядит так — Ctrl+Shift. Не благодарите.
А вы как думаете, почему при переходе на Windows 95 Microsoft поменяла дефолтную комбинацию на Left Alt + Shift?
Потому что Ctrl + Shift конфликтует с выделением по словам во всех текстовых редакторах.
Переключение по Ctrl+Shift в Firefox'е порождает аналогичные проблемы. Точнее — срабатывает во всплывающих окнах (Pocket, Lastpass) как Enter, очень напрягает.
Нет, у меня не срабатывает, проверил.
Вынь10 и Ctrl+Shift переключение языков.
Я под Ubuntu 19.10, а к такому сочетанию наглухо привык и не могу избавиться, т.к. с окошек полностью ушел только пару лет назад.
Ну чините ваши линуксы, код открыт :)
Детские болезни, я смотрю, никуда не деваются уже десятки лет. Как были проблемы с обработкой нажатий клавиш в далёком 2004-ом, например, так и продолжаются до сих пор.
Спасибо, и вам не скучать! ;)
UFO just landed and posted this here

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

Спасибо. Я придерживаюсь вашей точки зрения — ОС для человека, а не наоборот. Мне тоже дешевле один раз перенастроить.

UFO just landed and posted this here

Потому что Alt активирует меню. Спасибо кэпу внтури меня.

Альт активирует меню при нажатии? Ведь он должен делать это при отжатии.
Обычно пользователь ожидает событие при нажатии, а не отжатии. Приходилось писать ГУИ и учитывать именно подобное ожидние пользователя.
А, так вот, кто пишет неправильные GUI!
Клик ведь в нормальных GUI состоит из нажатия и отжатия.
Обычно пользователь ожидает событие при нажатии, а не отжатии
Не знаю, где вы нашли пользователей, которые ожидают события по keydown.
Я всегда ожидаю события только по keyup, и очень удивляюсь, когда вдруг в каких-то редких программах натыкаюсь на действия, вызванные событием зажатия клавиши. Неприятно удивляюсь.
Исключение, конечно, составляю процессы, которые требуют удержания клавиши, начинающиеся в момент зажатия и заканчивающиеся в момент отжатия.

Вы пишете какое-то специфическое программное обеспечение?

А вот перепроверил… и вправду по отжатию.

У меня с последним обновление — в скайпе проблемы пропали, но появились в slack-е.

Кстати если нажимать сначала shift и потом alt проблемы нет

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

А вы попробуйте kbdd оно прицепом умеет полезную вещь: запоминать раскладку для конкретного окна.

UFO just landed and posted this here

Была такая проблема, перешёл на переключение раскладки по Win+Space.

Win+space дает похожие проблемы, например в Firefox: теряется фокус в некоторых формах ввода

Коллега в своё время подсказал 2 шрифта. Полтора года пользуюсь, удобно.

В какой-то момент понял, что проще переучиться на win+space, оно вроде как стандарт теперь, работает как в винде, так и во всех ubuntu-based дистрибутивах.
Если ничего не напутал, то это связано с багой 865. Для Arch Linux есть пакет в aur исправляющий её.
Раньше пользовался ctrl+shift комбинацией для переключения раскладки, но переучил себя на win+space
Не пробовали переключаюсь по Shift+Alt? (это не сарказм, просто Alt отпускается раньше Shift).
Была у меня похожая проблема в Windows, некоторые приложения по Alt «подсвечивали меню» и переключали фокус…
Попробуйте выполнить
setxkbmap -layout us -option; setxkbmap -layout «us,ru» -option grp:alt_shift_toggle

Как мне кажется проблема в вашем оконном менджере или ещё какой-то программе берущей на себя переключение раскладки. Сами иксы такой проблемой вроде не страдают.
Проверил у себя с vscode, переключается без проблем.

P.S. Сам переключаю раскладку по правой клавише win(она же meta)
У данного подхода есть интересная особенность. Я привык после переключения языка (Alt + Shift) держать Shift зажатым, если мне, например, нужно начать предложение с заглавной буквы. Так вот, после смены языка Shift хоть и остается заглявным, но не влияет на регистр символов. Приходится отпускать и зажимать снова. Кто-нибудь сталкивался с подобным?
Попробуйте переключать по Shift + Alt

Я словив этот баг просто обновился до 19.10 убунты...

Неплохое решение. Как теперь поправить это в 19.10 убунте?
Всегда рекомендовал пользоваться разными клавишами для переключения раскладок. Первое время не удобно, но когда привыкаешь дает отличный прирост в скорости. Не отвлекаешься каждый раз на проверку какая текущая раскладка включена. Жмешь нужное сочетание и знаешь что включена нужная раскладка.

image
У меня уже много лет Ctrl+Shift, ещё с Windows 95. И вот на Ubuntu 18.04 я впервые обнаружил, что Ctrl+Shift И Shift+Ctrl — это теперь РАЗНЫЕ комбинации. Например, в PHPStorm Shift+Ctrl+F открывает окно поиска, а Ctrl+Shift+F… ну да, переключает раскладку. Пришлось некоторое время потренироваться, но в итоге привык, и теперь так и живу.
Ctrl+Shift И Shift+Ctrl — это теперь РАЗНЫЕ комбинации
Это же гениально. Десять лет сижу на линуксе и не знал что они разные. Возможно не было хорошего повода разобраться, а сам как то даже допустить не мог подобного. Было бы хорошим решением сделать Ctrl+Shift — первая раскладка а Shift+Ctrl — вторая. Кто нибудь так делал?
Проблема всегда была в том, что в линуксах комбинация срабатывает по кейдаун, а в винде — по кейап.
podkmax
Мой вопрос не сильно имеет отношение к статье, но просто интересно. Зачем использовать комбинацию клавиш «Alt» + «Shift», если можно использовать «Ctrl» + «Shift»? Я, например, пользуюсь второй, т.к. эта комбинация физически находится вместе и при нажатии на неё вероятность задевания других клавиш меньше.
Что-то никак не могу заставить работать на Ubuntu 19.10 именно комбинацию Alt+Shift, другие комбинации с обычными кнопками работают норм.

Т.е. запускаю xbindkeys -k, нажимаю Alt+Shift, он выводит:
"(Scheme function)"
    m:0x9 + c:64
    Shift+Alt + Alt_L

Вставляю в файл .xbindkeysrc строку:
"/usr/bin/notify-send test"
    m:0x9 + c:64

Перезапускаю killall xbindkeys; xbindkeys -p -v и при нажатии Alt+Shift — ничего не происходит. Та же самая беда и с Ctrl+Shift, просто нажатием-отпусканием Ctrl, и т.п. Если добавить какую-нибудь обычную кнопку к комбинации (например Alt+Shift+A) — всё работает.
Может кто-нибудь подсказать в чём проблема? Возможно запущенные xorg или KDE как-то мешают?

Это чтобы переучиваться с alt+shift на shift+alt ломая столетнюю привычку?

Нет, alt-shift работает как всегда.

Хм, супер! Тогда надо будет попробовать, на мой KDE только портировать эти настройки осталось как-то

Предложенный в статье способ в целом работает, но не без проблем:

1. При нажатии Alt+Shift фокус у поля не теряется как раньше, но временно пропадает фокус у самой программы. В итоге, например, если открыть менюшку программ Kickoff, установить фокус в поле поиска и начать набирать, а потом нажать Alt+Shift — тогда менюшка закроется.

То же самое в Run Command Interface (Alt+F2)

2. При подключении по RDP к какой-нибудь венде, где установлено Alt+Shift — вообще ничего не работает — ни линуксовая переключалка ни виндовая, приходится мышкой тыкать переключать.

Может кто-то знает как эти проблемы решить?
Спасибо автору! Благодаря этой статье и комментариям к ней нашёл в AUR пропатченный xorg-server, который решает эту проблему. Наконец, всё заработало.

aur.archlinux.org/packages/xorg-server-bug865

Багу, оказывается, уже 16 лет и совершенно непонятно, почему его никак не могут пофиксить.

Починили электроновский баг https://github.com/electron/electron/issues/28088 наконец-то, не прошло и джва года!

"ждём ебилдов" ;-)

Sign up to leave a comment.

Articles