Пользователь
0,0
рейтинг
13 марта 2010 в 15:14

Администрирование → Горячие клавиши 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
Misha @BmW
карма
11,6
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Администрирование

Комментарии (108)

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

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

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

      freedesktop.org
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      В данный момент наблюдаю баг в KDE 4. Патч пока не ставил.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Да, через гуй.
    • +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
    Чуваки, а по 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 для меня слишком круто :)
      • 0
        Ничего сложного. Абсолютно.
        • +1
          Спасибо, попробовал. Буду ждать подтверждающего письма и очереди на сборку.
    • +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
                Ну, считайте это моей личной статистикой.
                • 0
                  Понятно, спасибо.
  • +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
      Не, там перепилили переключалку и теперь там собственные грабли с новыми интересными багами.

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