Linux для всех

индекс
247,20

Горячие клавиши 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 https://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 с этим патчем https://launchpad.net/~oded-geek/+archive/xorg-patches
+37
13 марта 2010, 15:14
54
BmW

комментарии (106)

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

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

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

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

Q: А почему не работает [...]
A: Да просто это никому не нужно.
+7
AlexcYeCu #
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
romx #
«Зато теперь он работает на 256-процссорных системах» (с)
0
Xpeh #
Не работает. В Linux на AMD64 максимальное число логических процессоров 255, а в Windows 256. Связано с реализацией ACPI.
0
sultee #
ой, причем тут пост, вы же патч ругаете
0
BmW #
y в ff — список загрузок; t в gnome-terminal — новая вкладка, w — закрыть вкладку.
Хоткей ctrl+shift не левый, он в том же гуевом списке хоткеев в гноме что и остальные 100500 способов.
0
AlexcYeCu #
В FF не помню — у меня vimperator, gnome-terminal тоже не использую в linux, но хоткей такой помню… Ладно, есть такие хоткеи, убедили.
+3
khizhaster #
Это всего лишь говорит о том, что вы неправильно используете компьютер, точнее вам хватает только мышки. Банальный пример: выделение текста в редакторе, хоткеи в Gimp, Eclipse и прочих. Собственно, говорить «мне не нужно — значит никому не нужно» абсолютно глупо и недалёко. Умные люди больше пользуются клавиатурой, и это была действительно проблема с хоткеями.
0
AlexcYeCu #
xmonad, dmenu, vimperator, urxvt на хоткее. Не знаю, кто вам говорит, что я клавиатуру мало использую, но он не прав.
+1
el777 #
Четыре? Это только на лончпаде. В начале прошлого года сам писал им про этот баг — сейчас его слили с решенным. Видимо накопилась какая-то критическая масса, кто-то сильно достался и сделал :)
А так баг https://bugs.freedesktop.org/show_bug.cgi?id=865 открыт 2004-07-14 02:58 PST
почти 6 лет :) Неспешненько :)
0
sovnarkom #
Чуваки, а по alt+space никак нельзя сделать?
0
BmW #
Можно, я вообще по капслоку переключался, но привычку переключать по ctrl+shift так и не смог изжить.
0
el777 #
Можно, в Убунту 9.10 даже стандартными средствами через GUI.
0
sovnarkom #
О, сейчас попробую в виртуалке, а то в макоси одно, а там другое — неудобно, ещё бы к W7 прикрутить…
НЛО прилетело и опубликовало эту надпись здесь
+1
sultee #
я один чтоль вин-кей для переключения использую?
а за патч и за подборку спасибо.
+2
corristo #
ну, я капс-лок юзаю.
+1
aectann #
Я тоже. Вин-кей все равно не нужен :) И переключаться намного удобнее.
0
sultee #
и капс свободен под compose-key :)
0
BmW #
Я наоборот — капс для переключения, а вин — compose.
0
Cancel #
капс — переключение, winkey как метаклавиша, правый alt для активации третьего слоя в раскладках, правое menu как Compose key. Очень удобно, разве что склоняюсь отказаться от циклического переключения раскладок по капсу и сделать caps: en, shift+caps:ru
+1
zeroed #
Win-key очень удобен для различного вида кеев.

Типа Win+Q открыть терминал и так далее.

Или это идеологическая позиция?
0
seleko #
я использую 2 винкея :)
0
twangel #
я юзаю Menu =)
+1
kossmoss #
Я спасён! Теперь мне легко и хорошо!
0
Zyava #
А заодно, сухо и комфортно? :)
0
kossmoss #
Именно. И грыжа рассосалась! )
+1
non7top #
капс-лок это то что надо. жаль что тоже виндовс нельзя настроить
0
malferov #
Очень просто сделать это при помощи Punto Switcher'а: НастройкиОбщиеПереключать по — выбрать Caps Lock.
+4
non7top #
я делал но оно какое-то глючное, да и еще и левый софт нужен
0
Mezomish #
Как-то совсем недавно, когда я решил, что с меня хватит мучений и пора напрячь гугл на предмет переключения раскладки под виндой привычным и чрезвычайно удобным способом (по CapsLock), я наткнулся на одну неприметную страничку одного неприметного человека: yurez.narod.ru/capslang.html
Программка весом 16 кб делает ровно то, что мне от неё нужно: переключает раскладку по CapsLock (с индикацией светодиодом).
Рекомендую.
0
mvgolubev #
А я порекомендую аналогичную утилиту: lswitch
Она весит всего 3 КБ и позволяет назначить на переключение языка ввода не только CapsLock, но и любую другую клавишу. Код клавиши передаётся параметром командной строки (20 для клавиши CapsLock).
Скачать можно отсюда: haali.su/winutils/
Исходник на C прилагается.

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

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

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

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

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

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

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

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

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

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

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

ЗЫ Знакомство с системой у меня не первое, но раньше как раз ковыряние раздражало и надолго меня не хватало. А сейчас почему-то нет. Наверное потому, что винду в этот раз снёс, и нет выбора )

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