Горячие клавиши ctrl+shift+[key] и переключение языков по ctrl+shift (решено)

    Проблема: При настройке переключения раскладок на ctrl+shift горячие клавиши вида ctrl+shift+ отказываются работать.
    Оказывается совсем недавно (буквально месяц назад) Илья Муравьев написал патч, исправляющий данное недоразумение. Суть сводится к тому что переключение языка после патча срабатывает не на нажатие, а на отпускание кнопок ctrl+shift.

    Тема про баг четырехлетней давности на лаунчпаде и на фридесктоп.орг. Сам патч.

    Маленькая инструкция для бубунтоводов:
    создаем папку под исходники и будущие .deb'ы переходим в нее:
    $ mkdir xorg-server
    cd xorg-server

    получаем в нее исходники
    apt-get source xorg-server

    устанавливаем пакеты, необходимые для сборки
    sudo apt-get build-dep xorg-server

    качаем патч
    wget bugs.freedesktop.org/attachment.cgi?id=33142

    устанавливаем патч
    patch < attachment.cgi\?id\=33142
    File to patch: xorg-server-1.6.4/xkb/xkbActions.c

    собираем (папка у вас может быть другая, делал в ubuntu 9.10)
    cd xorg-server-1.6.4/
    debuild -us -uc
    cd…
    dpkg -i *.deb

    пачка дебов моей сборки (для ленивых):

    https://launchpad.net/~bmw-/+archive/bmvppa

    rapidshare.com/files/362748501/xorg_ctrlshift_patch.tar.bz2.html
    MD5: 90FACB79834FECBF1716B42CF0D4D47A


    Ставьте только если доверяете лично мне, я не предоставляю гарантий.

    PS вытащил это все из темы про убунту, думаю, многим привыкшим переключаться по ctrl+shift будет интересно.

    PPS Адаптировал патч для 10.04, брать тут

    PPPS нашел PPA с этим патчем launchpad.net/~oded-geek/+archive/xorg-patches
    Поделиться публикацией
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 110
    • +9
      Ура!
      • +5
        А этот патч отправлен разработчикам?
        Если да, то каково прогнозируемое время включения патча в очередную версию иксов?

        P.S.: я правильно ведь понимаю, что пофиксена так же ситуация, когда переключение раскладки стоит на ctrl и не работают хоткеи ctrl+*?
        • +1
          >А этот патч отправлен разработчикам?

          >качаем патч
          wget https://bugs.freedesktop.org/attachment.cgi?id=33142

          freedesktop.org
        • НЛО прилетело и опубликовало эту надпись здесь
          • +1
            В данный момент наблюдаю баг в KDE 4. Патч пока не ставил.
            • НЛО прилетело и опубликовало эту надпись здесь
          • +2
            Это баг иксов.
          • 0
            а можно добавить переключение по alt+shift? я уже привык к ctrl+alt+0, но, возможно, кому-то ещё пригодится
            • +4
              Четыре года. 2010 год.
              Я… ошеломлен. 8)
              • +4
                Сам в шоке. Причина, скорее всего, банальна: большая часть пользователей и разработчиков англоязычная, соответственно переключением раскладок не пользуется совсем.
                • +11
                  осознание того, что где-то есть люди, которым практически никогда не приходится переключать раскладки, повергло меня сейчас в небольшой шок.
                  • +2
                    Я тебя добью: многие вообще не знают, что такое «переключать раскладки» и кто такие эти раскладки.
                    • +2
                      больший шок был только от осознания существования раскладки Дворака, альтернативной qwerty.
                • –2
                  Да просто это никому не нужно. Во-первых, в никсах переключают либо по Caps_Lock, либо по L_Win: удобней переключения раскладки по одной клавише ещё не придумали, РУС-ЛАТ тому подтверждение. Да и хоткеев с ctrl+shift — я так вот ни одного не смог вспомнить. Дополнительные раскладки вешаются на ctrl+space (или куда нравится) и переключаются через ibus. Так кого скребут заботы раба виндовых привычек, каким-то чудом нашедшего странные хоткеи? Вот Илью Муравьёва тема зацепила — он поправил (ага, потому что OpenSource и такая работа может быть проделана одним программистом, без десятка юристов, менеджеров и прочих дармоедов). А так — никому и не нужно было. Я вот только из новости об исправлении узнал, что «проблема есть».
                  • +1
                    ну меня проблема волновала просто потому, что помимо привычного мне L_Win, у меня была включена комбинация Ctrl+Shift для родителей. однако это не давало возможности пользоваться немалым количеством хоткеев во многих приложениях — от браузера до Gimp. Пакеты я ставить не стал, но благодаря данному посту узнал, в чём была проблема, и поэтому отключил связку Ctrl+Shift.
                    • +2
                      One Fits All Linux FAQ:

                      Q: А почему не работает [...]
                      A: Да просто это никому не нужно.
                      • +7
                        Q: А почему в никсах не как в MS Windows?
                        A: Никсы это не MS Windows.

                        Q: Я в windows привык…
                        A: Никсы это не MS Windows.

                        Q: Нам, пользователям MS Windows…
                        A: Никсы это не MS Windows.

                        Q: Я, пользователь MS Windows, зашёл в тему про Linux и мнение имею…
                        A: Никсы это не MS Windows.
                        • +3
                          «Зато теперь он работает на 256-процссорных системах» (с)
                          • 0
                            Не работает. В Linux на AMD64 максимальное число логических процессоров 255, а в Windows 256. Связано с реализацией ACPI.
                      • 0
                        ой, причем тут пост, вы же патч ругаете
                        • 0
                          y в ff — список загрузок; t в gnome-terminal — новая вкладка, w — закрыть вкладку.
                          Хоткей ctrl+shift не левый, он в том же гуевом списке хоткеев в гноме что и остальные 100500 способов.
                          • 0
                            В FF не помню — у меня vimperator, gnome-terminal тоже не использую в linux, но хоткей такой помню… Ладно, есть такие хоткеи, убедили.
                          • +3
                            Это всего лишь говорит о том, что вы неправильно используете компьютер, точнее вам хватает только мышки. Банальный пример: выделение текста в редакторе, хоткеи в Gimp, Eclipse и прочих. Собственно, говорить «мне не нужно — значит никому не нужно» абсолютно глупо и недалёко. Умные люди больше пользуются клавиатурой, и это была действительно проблема с хоткеями.
                            • 0
                              xmonad, dmenu, vimperator, urxvt на хоткее. Не знаю, кто вам говорит, что я клавиатуру мало использую, но он не прав.
                          • +1
                            Четыре? Это только на лончпаде. В начале прошлого года сам писал им про этот баг — сейчас его слили с решенным. Видимо накопилась какая-то критическая масса, кто-то сильно достался и сделал :)
                            А так баг https://bugs.freedesktop.org/show_bug.cgi?id=865 открыт 2004-07-14 02:58 PST
                            почти 6 лет :) Неспешненько :)
                            • 0
                              До сих пор не работает из коробки, вот я действительно ошеломлен.
                              Debian 8.6.
                            • 0
                              Чуваки, а по alt+space никак нельзя сделать?
                              • 0
                                Можно, я вообще по капслоку переключался, но привычку переключать по ctrl+shift так и не смог изжить.
                                • 0
                                  Можно, в Убунту 9.10 даже стандартными средствами через GUI.
                                  • 0
                                    О, сейчас попробую в виртуалке, а то в макоси одно, а там другое — неудобно, ещё бы к W7 прикрутить…
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • +1
                                    я один чтоль вин-кей для переключения использую?
                                    а за патч и за подборку спасибо.
                                    • +2
                                      ну, я капс-лок юзаю.
                                      • +1
                                        Я тоже. Вин-кей все равно не нужен :) И переключаться намного удобнее.
                                        • 0
                                          и капс свободен под compose-key :)
                                          • 0
                                            Я наоборот — капс для переключения, а вин — compose.
                                            • 0
                                              капс — переключение, winkey как метаклавиша, правый alt для активации третьего слоя в раскладках, правое menu как Compose key. Очень удобно, разве что склоняюсь отказаться от циклического переключения раскладок по капсу и сделать caps: en, shift+caps:ru
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                          • 0
                                            я использую 2 винкея :)
                                            • 0
                                              я юзаю Menu =)
                                            • +1
                                              Я спасён! Теперь мне легко и хорошо!
                                              • 0
                                                А заодно, сухо и комфортно? :)
                                                • 0
                                                  Именно. И грыжа рассосалась! )
                                              • +1
                                                капс-лок это то что надо. жаль что тоже виндовс нельзя настроить
                                                • 0
                                                  Очень просто сделать это при помощи Punto Switcher'а: НастройкиОбщиеПереключать по — выбрать Caps Lock.
                                                  • +4
                                                    я делал но оно какое-то глючное, да и еще и левый софт нужен
                                                    • 0
                                                      Как-то совсем недавно, когда я решил, что с меня хватит мучений и пора напрячь гугл на предмет переключения раскладки под виндой привычным и чрезвычайно удобным способом (по CapsLock), я наткнулся на одну неприметную страничку одного неприметного человека: yurez.narod.ru/capslang.html
                                                      Программка весом 16 кб делает ровно то, что мне от неё нужно: переключает раскладку по CapsLock (с индикацией светодиодом).
                                                      Рекомендую.
                                                      • 0
                                                        А я порекомендую аналогичную утилиту: lswitch
                                                        Она весит всего 3 КБ и позволяет назначить на переключение языка ввода не только CapsLock, но и любую другую клавишу. Код клавиши передаётся параметром командной строки (20 для клавиши CapsLock).
                                                        Скачать можно отсюда: haali.su/winutils/
                                                        Исходник на C прилагается.

                                                        • 0
                                                          а есть программы, которые позволяют менять раскладку И по alt+shift И по ctrl+shift?
                                                          зачем? один пользователь (жена) работает 50% времени с удобным ей способом, а второй с другим.
                                                    • 0
                                                      Я даже сам писал такую утилиту: code.google.com/p/capswitch/, но в последнее время пользую пунто свичер, как и предыдущий оратор :)
                                                      • 0
                                                        Я бы, пожалуй, использовал переключение Caps'ом, но я лишь указал на эту возможность для пользователей Windows :-) Сам переключаю классическим для Windows способом — Alt + Shift. Хотя, в некоторых версиях Linux переключал просто Капс Локом.

                                                        На Windows еще до освоения слепой печати пользовался Ctrl + Shift: когда-то мне казалось, что так быстрее и удобнее, да еще и избегаешь проблем, которые могут возникать, когда нажимаешь Alt вместо Альт + Шифт.

                                                        Теперь же только Alt + Shift: при беглом наборе это позволяет кисти оставаться в одной плоскости при смене раскладки. Caps Lock все-таки имеет свое предназначение и при наборе аббревиатур использую именно его. А еще по музыкальному прошлому помню, что чем меньше лишних движений, тем подвижнее можно набирать (нажимать на клавиши, щипать струны). Поэтому только Alt + Shift.
                                                        • 0
                                                          ctrl-shift вполне можно одним мизинцем нажимать.
                                                          • 0
                                                            Так и делал. Но посмотрите на кисть во время смены раскладки по Кантрол + Шифт — она меняет плоскость, теряет позицию. А это время и потеря позиции.
                                                        • 0
                                                          У меня почему-то Punto Switcher (переключение по Капс Лок) не работает к примеру в Windows в Gajim. Просто не переключает. Сегодня попробую Вашу утилиту
                                                        • +1
                                                          К сожалению переключение по capslock удобно только при наличии всего двух раскладок, а если их как минимум три, то это уже мучение.
                                                          • 0
                                                            просто капслок можно, как уже ниже написали. Хотелось бы как в лиункс, чтобы диод caps lock'а изменял свое состояние в соответствии с языком текущего окна. Крайне удобно.
                                                        • 0
                                                          Жесть, видимо о проблеме никто вообще 4 года не задумывался либо задумывающиеся понятия не имели как это записать так чтоб заработало, такая очевидная идея же…
                                                          Спасибо тем кто разрулил, я пользую CapsLock
                                                          • +1
                                                            А как насчет переключения по одному шифту? Под виндой это делается с помощью того же пунтосвитчера. Принцип такой:
                                                            Нажимаешь шифт, отпускаешь — переключается раскладка.
                                                            Нажимаешь шифт, держишь — печатаются большие буквы.
                                                            В общем переключение происходит после отжатия шифта. А в линуксе все наоборот, переключение происходит при нажатии.

                                                            Вопрос — чинит ли этот патч вообще все способы смены раскладок или только ctrl-shift?
                                                            • 0
                                                              это чинит баг с конфликтом хоткеев, т.е. не только c+s
                                                              • 0
                                                                Если быть точным, то чинит сочетания из двух кнопок, т.е. ctrl+shift, alt+shift и т.п.
                                                            • –5
                                                              Многие спрашивают себя: «Я мудак? Или все же нет?». Ответ очевиден. Если у тебя Linux и языковая раскладка переключается с помощью комбинации клавиш CTRL + SHIFT – значит ты мудак.

                                                              без обид:)
                                                              • 0
                                                                Пусть каждый переключает как ему удобно.
                                                                Это же линукс — здесь нет единого правильного пути — делай как тебе удобнее.
                                                                Достаточно много пользователей, которые одновременно используют и другие системы — поэтому удобно иметь одну и ту же переключалку.
                                                              • +1
                                                                Я все еще не верю! эпохальное событие
                                                                • 0
                                                                  Оно еще не в основной ветке, так что есть чего ждать.
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • 0
                                                                    О, а может знает кто, отключить такую штуку: когда создается новое окно, оно наследует раскладку от предыдущего активного. А хочется чтоб у нового окна была дефолтная раскладка. Решаемо?
                                                                    • 0
                                                                      да, настраивается в окне настроек раскладок (ну по крайней мере в kde)
                                                                      • 0
                                                                        Система-параметры-раскладки-раскладки
                                                                        Ставим галку «Отдельная раскладка для каждого окна» и выбираем раскладку по умолчанию.
                                                                      • 0
                                                                        Переключаю левым контролом и доволен по самые уши :))
                                                                        • 0
                                                                          После применения патча, заметил баг, иногда при переключении раскладки по Ctrl+Shift включается верхний регистр букв, будто был нажат Капс. Но проблема появляется из редка, можно это пережить :)
                                                                          • +1
                                                                            из откуда?! :))))
                                                                          • +1
                                                                            только что вспомнил об одном раздражающем моменте в иксах — захвате клавиатуры выпадающим combobox-ом. вот бы нашёлся герой, который бы исправил это!
                                                                            • 0
                                                                              А почему на рапиде? Может лучше свой PPA сделать на Ланчпаде? А так — супер, я сейчас переключаю правым контролом, но всё равно поначалу раза три на левый Ctrl+Shift нажму…
                                                                              • 0
                                                                                А даже как-то не подумал, PPA для меня слишком круто :)
                                                                              • +1
                                                                                https://launchpad.net/~oded-geek/+archive/xorg-patches
                                                                              • –3
                                                                                Переключение языков клавишей CapsLock — самое удобное. На любой платформе.
                                                                                • 0
                                                                                  Точно 4 года? По-моему, этому багу (либо родственному ему в KDE) побольше лет…
                                                                                  • 0
                                                                                    Неудачно сформулировал, 4 года багу на лаунчпаде, а у самого xorg оно уже 6 лет почти (Opened: 2004-07-14 02:58)
                                                                                  • 0
                                                                                    Вот, собственно, из таких мелочей и складывается негативное отношение к Линуксу.
                                                                                    • 0
                                                                                      Из каких именно? Из того, что кто-то берёт и правит неудобные вещи самостоятельно?
                                                                                      • 0
                                                                                        Нет, из-за того, что кто-то правит их в течение многих лет.
                                                                                        • 0
                                                                                          Вы правда думаете, что это присуще исключительно Линуксу?
                                                                                          • 0
                                                                                            Нет, но в Линуксе это встречается чаще.
                                                                                            • +1
                                                                                              И здесь, по традиции, идёт статистика, на основании которой был сделан вывод «в Линуксе это встречается чаще»…
                                                                                              • –1
                                                                                                Ну, считайте это моей личной статистикой.
                                                                                  • +1
                                                                                    Вопрос автору топика.

                                                                                    Что фиксит данный патч? Переключение раскладки по отпусканию клавиш Ctrl+Shift, или переключение раскладки по отпусканию любой настроенной клавиши?

                                                                                    Спрашиваю из-за того, что привык переключаться по методике «левый Shift — английский язык, правый Shift — русский язык». То есть, к каждой отдельной (одной) клавише привязан конкретный язык.

                                                                                    Соответсвенно, переклчение должно происходить при отпускании Shift, и только в том случае если не набирались большие буквы (то есть было одиночное нажатие Shift).

                                                                                    Поможет ли этот патч так настроить переключение раскладки?
                                                                                    • 0
                                                                                      Немного процитирую переписку с автором патча(задал вопрос по поводу переключения по одному ctrl, но суть не меняется):
                                                                                      Мой метод работает если только в комбинацию переключения входит 2 или более модификаторов (таких как Ctrl, Alt, Shift, Win). Да и зачем,- многим ли это нужно (и как они пришли к переключению одним Ctrl)?

                                                                                      И, насколько я понимаю, без основательной переделки X-ов переключение
                                                                                      одним Ctrl по отпускания реализовать невозможно.
                                                                                      • 0
                                                                                        эх, я с той же проблемой: (
                                                                                      • 0
                                                                                        Дебы отвалились, ибо Рапида и лимит в 10 загрузок. Реквестую перезаливку, пожалуйста.
                                                                                        • 0
                                                                                          сегодня в PPA положу по-человечески.
                                                                                          • 0
                                                                                            sudo add-apt-repository ppa:bmw-/bmvppa
                                                                                            Но оно пока не скомпилировалось еще, i386 собирается через час, а amd64 через два.
                                                                                          • 0
                                                                                            Нигде не могу найти, этот патч будет включён в следующий релиз xorg?
                                                                                            • 0
                                                                                              Офигеть! Я думал, что этого никогда уже не случится. Из-за этого косяка приучал себя переключаться правым альтом средним пальцем :))

                                                                                              Присоединяюсь к вопросам: патч в официальный релиз включат?
                                                                                              • 0
                                                                                                Автор патча писал что в xorg что-то не спешат.
                                                                                              • 0
                                                                                                Ух… ну и навернуто же получилось… Но получилось, спасибо!
                                                                                                • 0
                                                                                                  А этот патч как-то можно применить к unubtu 9.04?
                                                                                                  • 0
                                                                                                    Не проверял, честно говоря. Попробуйте. Там ни чего сложного по сути.
                                                                                                    • 0
                                                                                                      Попробовал «устанавливаить пакеты, необходимые для сборки» (sudo apt-get build-dep xorg-server), говорит, что невозможно разрешить зависимость.
                                                                                                  • 0
                                                                                                    Похоже, в Natty Narwal таки включат этот патч. Ура.
                                                                                                    • 0
                                                                                                      Спасибо большое за информацию.
                                                                                                      Правда я сперва наткнулся на этот пост и в ваш уже особо не вчитывался :)
                                                                                                      Не знаю, как в марте 2010-го, когда этот пост писался, а сейчас оказалось достаточно добавить источник ppa:oded-geek/xorg-patches и обновиться :)
                                                                                                      • 0
                                                                                                        Уже всего чуть больше месяца осталось до выхода 11.04, можно просто подождать ;)
                                                                                                        • 0
                                                                                                          Я всего вторую неделю на Убунту, так что мне по приколу ковыряться :)

                                                                                                          ЗЫ Знакомство с системой у меня не первое, но раньше как раз ковыряние раздражало и надолго меня не хватало. А сейчас почему-то нет. Наверное потому, что винду в этот раз снёс, и нет выбора )
                                                                                                      • 0
                                                                                                        Есть ли аналогичное решение для Ubuntu 13.10?
                                                                                                        • 0
                                                                                                          Не, там перепилили переключалку и теперь там собственные грабли с новыми интересными багами.
                                                                                                        • 0
                                                                                                          Если кому интересно, есть расширение в Chrome: Ctrl-Z Reopen Closed Tab. Частично решает проблему, кто сталкивается с ней только при использовании этого хоткея.

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