Linux: Switching keyboard layout by Ctrl+Shift/Alt+Shift without hotkey problems (like Windows)

Sdílet
Vložit
  • čas přidán 25. 08. 2024
  • Solution to a problem in Linux related to the old bug 865 in X11, which causes hotkeys containing layout keys to stop working when using Ctrl-Shift or Alt-Shift switching, because the layout switch triggers earlier and it clears the keyboard event buffer.
    XKB-Switch github.com/ser...
    Here's the bash script kb_layout_switch.sh: gist.github.co...

Komentáře • 27

  • @boriskozlov8879
    @boriskozlov8879 Před měsícem

    винда и гном из коробки меняют язык ввода по win+space, макось по control + space.
    Удобнее. Уже настроено при установке.

  • @ProBelDev
    @ProBelDev Před měsícem +1

    просто использоваться win+пробел, который работает и в винде, и в макоси, и в лине)

    • @decoder9379
      @decoder9379 Před měsícem

      Непривычно и неудобно.

  • @DaB00gieW00gie
    @DaB00gieW00gie Před měsícem +1

    CAPS намного удобнее и практичнее, как минимум из-за того, что текущее состояние подсвечивается самой клавиатурой прямо на кнопке, а не как часто делают светлячком ScrollLock (хотя, зависbт от клавы конечно)
    ну и сама по себе проблема надуманная, т.е. скорее притянутая за уши.
    во первых, ibus вообще нужно удалить из системы - это зло!
    переключение по Option "XkbOptions" "grp:caps_toggle,grp:switch,grp_led:caps,compose:sclk,terminate:ctrl_alt_bksp" превосходно работает и абсолютно не ломает виндовые привычки.
    а вот например переключение на терминал по F1 (я использую tilda) сильно доставляет, когда вдруг вспоминаешь, что ты не в родной системе и рефлекторное нажатие на F1 вместо чёрного экрана вдруг вызывает справку =)
    ну и в самом WM`е обычно хватает возможностей для работы с хоткеями,
    в том же OpenBox`е это легко делается через rc.conf
    к примеру что-то вроде: ~/scr.sh

    • @gugglegum
      @gugglegum  Před měsícem

      @@DaB00gieW00gie Вам удобно по CAPSLOCK потому что вы наверно не пользуетесь виндой. А я специально делал оговорку, что если вы пользуетесь виндой и постоянно переключаетесь туда-сюда, то вам будет неудобно менять привычку по 20 раз в день.
      Лично мне CAPSLOCK неудобен. Во-первых, потому что я редко, но пользуюсь им по прямому назначению, когда нужно ввести много букв подряд в верхнем регистре. Во-вторых, на моей Microsoft wired 600 клавиатуре эта кнопка не подсвечивается.

    • @DaB00gieW00gie
      @DaB00gieW00gie Před měsícem

      @@gugglegum виндой пользуюсь почти каждый день. нормальный текстовый редактор умеет переводить выделенный текст в верхний регистр и обратно. светлячки режимов на клавах, это как фломастеры,
      но если они все над цифровым блоком или ещё где-то, то тогда и разницы нет какой из них использовать для подсветки состояния.
      капс под левым мизинцем намного удобнее всё же и исключает "недонажатия" при быстрой печати

  • @Fortranish
    @Fortranish Před měsícem

    Бро! Спасибо! Искал этот гайд 8 лет!!! Спасибо !!!

    • @gugglegum
      @gugglegum  Před měsícem

      Я сам искал его аж 14 лет (с 2010 года). 😀

    • @gugglegum
      @gugglegum  Před měsícem

      Как тебе моя швабра, приспособленная в качестве микрофонной стойки? 😁 Закрепил её на подставке от напольного вентилятора, соединив их нейлоновыми хомутами. Основной свет -- настольная лампа подвешенная за дверь.

  • @leojakovlev4051
    @leojakovlev4051 Před měsícem

    Спасибо, конечно, а зачем? Windows почти не использую лет 20, но помню, насколько неудобно это сочетание. А здесь можно вообще на одну клавишу повесить (ну, не в любой среде, конечно.... Gnome этого не любит). А что Wayland не готов, это оригинальное мнение. Это вот из под чего же я этот коммент пишу? Но подход Ваш к решению проблемы изящный, и заслуживает уважения.

    • @gugglegum
      @gugglegum  Před měsícem

      Для тех, кто по тем или иным причинам, пользуется Windows на постоянной основе и часто переключается туда-сюда между Windows и Linux, критически важно, чтобы в обеих операционных системах переключение работало одинаковым образом. В Windows по умолчанию доступны только эти 2 варианта переключения раскладки. Можно сказать, что это проблема Windows, но также это бросает тень и на Linux, поскольку такая крутая операционная система, а не может корректно использовать такой же способ переключения из-за недостатка в проектировании. То есть Linux может переключать раскладку 20-ю различными способами, но только не теми 2-мя, что используются в Windows. Как-то это неправильно. Плюс есть сила привычки. Я за 30 лет привык к этим комбинациям слишком сильно, мне они удобны и я уже не хочу изменять свою привычку сейчас. Мне проще исправить старый баг в Linux.
      На счёт Wayland и того, что он не готов, это не лично моё мнение. Такое мнение высказал ChatGPT и также я сам погуглил и обнаружил, например, на форуме Linux Mint сообщение от января 2024 об экспериментальной поддержке Wayland в оконной среде Cinnamon, которую я использую. В каких-то дистрибутивах Wayland уже рекомендован по умолчанию, но список проблем с ним пока что достаточно разочаровывающий: "Не запоминаются позиции окон после их закрытия", "Окно не получает фокус при активации из другого приложения", "Клавиши-модификаторы применяются только до начала перетаскивания файла". На основании этого я делаю вывод, что Wayland пока сыроват, и лучше пока остаться на X11, подшаманив старые баги. Ну и в любом случае, на 2024 год остаётся довольно много действующих установок Linux, где используется именно X11, и данное альтернативное решение для переключения раскладки будет для них полезным.

  • @decoder9379
    @decoder9379 Před měsícem

    Wayland никогда готов не будет, и максимум станет костылем для иксов.
    Повторив судьбу пайпвайр относительно пульсаудио.
    И то будующее туманно ибо много кто его заслужено байкотят.
    Надо было иксы переписывать просто и внедрять в дистрибутивы.

  • @sergeyalexeyev2403
    @sergeyalexeyev2403 Před měsícem +1

    Перепривыкнуть дело 3х дней, переключение по CAPS самое оно то, но вот в винде это можно сделать только через костыли...

    • @gugglegum
      @gugglegum  Před měsícem

      @@sergeyalexeyev2403 Я об этом и говорю в начале видел, что привыкнуть-то к другому переключению можно, трудно когда вы постоянно переключаетесь между Линукс и Виндовс по многу раз в день. Наверно можно поставить в Винде какой-то нестандартный переключатель. Это один из вариантов решения. Я лишь предлагаю другой - альтернативу для тех, кто не хочет переучиваться. Например, потому что Линукс в его жизни не основная операционка и 90% времени он проводит в Винде и менять свои привычки в этом случае меньше мотивации.

    • @leojakovlev4051
      @leojakovlev4051 Před měsícem

      @@gugglegum CAPS самое оно - не всегда.... как и WIN, кстати...

    • @gugglegum
      @gugglegum  Před měsícem

      @@leojakovlev4051 Так я ведь о том же и говорю, что не всем удобно переучиваться на CAPSLOCK. Это неудобно, когда продолжаешь регулярно пользоваться Windows.

  • @lieonair
    @lieonair Před měsícem

    Это же в КДЕ последнем исправлено. Идем в Настройки - Клавиатура - Раскладки. Убираем все из основных комбинаций, после а альтернативную комбинацию вставляем тот самый Ctrl+Shift. С этого момента и переключается как надо и все комбинации работают. Все средствами системы, а не странным баш-скриптом, работающим в фоне.

    • @gugglegum
      @gugglegum  Před měsícem

      @@lieonair Ну, здорово, конечно, что хоть где-то это наконец пофиксили и это работает из коробки. Жаль, что только в KDE. А баш скрипт хоть и работает в фоне, но ничего странного в нем нет, его код прост и понятен, и он практически не потребляет ресурсы фоном, т.к. там либо на событиях как-то работает, либо используется блокирующий режим чтения.

    • @andrejaga3003
      @andrejaga3003 Před měsícem

      @@gugglegum В LXQt тоже такой проблемы не заметил, настроить легко. Использую русифицированный Porteus LXQt 5.01 из оперативки, стартую с флешки. Кстати, много Линуксов перепробовал, этот самый подходящий для меня, только модулем внешний вид нормальный настроил с иконками.

    • @gugglegum
      @gugglegum  Před měsícem

      @@andrejaga3003 А там именно при отпускании клавиш срабатывает переключение? Или не замечали просто потому что не пользовались программами, в которых есть конфликтующие горячие клавиши? Хорошо, что о проблеме думают и хоть где-то решают. Я же нашел решение для тех оконных сред, где это пока не решено. Чтобы можно было пользоваться тем, что нравится и к чему привык, а не тем, где этот баг исправлен.

  • @decoder9379
    @decoder9379 Před měsícem

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

  • @enot85
    @enot85 Před měsícem

    В гноме есть какая-то переключалка стороняя тоже.

    • @gugglegum
      @gugglegum  Před měsícem

      Которая работает именно на отпускание клавиш? И именно с Ctrl+Shift и Alt+Shift?

  • @sergeyn5504
    @sergeyn5504 Před měsícem

    Только не chmo-d, а ch-mod (цэ-аш - мод). Change mode. А chmo - это не хорошее слово.

  • @narcomann1646
    @narcomann1646 Před měsícem

    В кде есть встроенные эти клавиши. Правда раздрожает срабатывание по нажатию, поэтому жду вейланд.

    • @gugglegum
      @gugglegum  Před měsícem

      Во всех основных средах рабочего стола есть встроенная поддержка переключениям по этим кнопкам. В том числе и в показанном в моём видео Cinnamon, который основан на GNOME 3. В видео на 6:10 я показываю как отключаю включенную галочку напротив Alt+Shift. Вся проблема в том, что когда она включена, комбинации типа Alt+Shift+F или Ctrl+Alt+Shift+C перестают работать. А в этом видео показано как сделать так, чтобы работало.

  • @decoder9379
    @decoder9379 Před měsícem

    Линукс делали не бесплатно и не безкорыстно. А за деньги фондов и корпораций, у которых свои мотивы.