Как стать автором
Обновить

Простой лайфхак для ввода символа "#" в русской раскладке клавиатуры под Linux

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров25K
Всего голосов 24: ↑16 и ↓8+11
Комментарии45

Комментарии 45

Как вариант, можно в Compose добавить.

уже там:

$ grep '"#"' /usr/share/X11/locale/en_US.UTF-8/Compose
<Multi_key> <plus> <plus>               : "#"   numbersign # NUMBER SIGN

Можно, и это один из самых часты советов. Но очень не нравится править конфигурационный файлы, так как через 2-3 года уже не вспомнишь, что и где изменял, если потребуется повторить эти настройки.

по-моему как раз наоборот, текстовые конфиги положил в гит и раскатываешь в пару команд всю привычную среду на новом компьютере.

Мне же это не для команды. И всю среду хранить в гит тоже так себе вариант, а лишних телодвижений очень не хотелось (хотелось по KISS, сделать как можно проще :-) )

а причём тут команда? у вас одно устройство?
у меня минимум три более-менее регулярно используемых (рабочий комп, домашний комп, личный ноутбук), плюс периодически список меняется

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

А в чём проблема? Если операционки — это линуксы, а даты их релизов не отличаются на года, то держать под системой контроля версий единый набор конфигов для них — это обычно не проблема. Ну, допустим, будет ли вам невыносимо плохо от осознания того факта, что у вас среди конфигов лежит что-то под неустановленную программу?

Другое дело, что я не выбрал VCS по одной простой причине. Переезжая, я не люблю тащить за собой всё окружение, включая дефолты, которые могут отличаться между версиями софта или разными дистрибутивами. Интереснее переносить лишь тот его сабсет конфигов, который настраивался сознательно и здесь автоматизация выглядит намного удобнее

Дело не в сложности решения, а в том, что в подобном решении нет ни необходимости, ни потребности.

Возможно тут лучше будет держать патч файл, который можно накатить на готовую папку (ту же etc).

Он и сам по себе документация и небольшой.

Дополнив это полным бекапом конфигураций каждый из систем переезжать будет довольно легко и просто.

Хотя я так и делаю, ещё проще не менять системные файлы, а держать все в $HOME: ~/.Xmodmap, ~/.XCompose, и.т.д. К сожалению, не всё так можно менять, кое-что приходится патчить

Для такого дела есть notion ему им подобные.

Как вариант, но мне кажется это будет как из пушки по воробьям.

так не надо же ничего править, это уже есть из коробки

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

у меня всё проще: я обнаружил, что совершенно не помню ряд 123… в русской раскладке, плюс меня раздражала запятая на цифровом блоке.
прописал в xkb keymap:


        include "pc+us+ru:2+inet(evdev)"

        # на цифровом блоке всегда точка, никакой запятой!
        key <KPDL> { symbols[group2]=[ KP_Delete, KP_Decimal ] };

        # на верхнем ряду цифр используем то же самые символы, что и в us
        key <AE02> { symbols[group2]=[ 2, at ] };
        key <AE03> { symbols[group2]=[ 3, numbersign ] };
        key <AE04> { symbols[group2]=[ 4, dollar ] };
        key <AE06> { symbols[group2]=[ 6, asciicircum ] };
        key <AE07> { symbols[group2]=[ 7, ampersand ] };

        # на немногочисленных кнопках без русских букв тоже
        key <AB10> { symbols[group2]=[ slash, question ] };
        key <BKSL> { symbols[group2]=[ backslash, bar ] };

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


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

это я тоже у себя сделал, использую в основном для ввода знаков на буквах БЮЖЭХЪ. опять же работает независимо от текущей раскладки.


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

это технически у меня работает, но оказалось невостребванным, так как я сделал переключение раскладок ненапряжным (на правом shift у меня висит включение русской раскладки, на правом alt — английской).

Я тоже пробовал задействовать правый Shift, но как оказалось привык использовать их оба, потому и выбрал Alt.

так правый шифт совместно с кнопкой у меня работает как шифт тоже. а вот короткое отдельное нажатие — как переключение на русскую раскладку.
пришлось ради этого xcape поставить, штатными средствами иксов, похоже, этого не добиться.

пришлось ради этого xcape поставить, штатными средствами иксов, похоже, этого не добиться.

Так в этом и засада, что xcape нужно настраивать отнюдь не щелчком мышки. А лишних телодвижений очень не хотелось (хотелось по KISS, сделать как можно проще :-) )

так у меня цель была сделать ациклическое переключение раскладок так, как я это посчитал удобным. и я считаю, что оно того стоило.


P. S. у нас разное представление о KISS, для меня KISS — это в первую очередь то, в устройстве чего просто разобраться.

так у меня цель была сделать ациклическое переключение раскладок

Возможно в этом случае ваше решение действительно более удобное.

В Kubuntu/KDE тоже достаточно галочки в настройках. Сначала я использовал CapsLock/Shift+CapsLock чтобы переключаться между русской/английской раскладкой, но всё равно было не удобно, т.к. в основном мне нужен один язык (как правило, английский). Я выбрал Left Win, т.к. никогда этой клавишей не пользовался, но пока ещё не совсем привык и иногда промахиваюсь по Left Alt.

Я тоже пробовал использовать Left Win, но Win+Пробел настроен как переключатель раскладок, поэтому и пришлось искать другой вариант.

А я просто CapsLock использую, без сочетаний. А режим капслока при этом включается сочетанием Shift+CapsLock, но этим не пользуюсь почти никогда.

Я тоже пробовал CapsLock для переключения раскладки, но мне это не очень понравилось, так как его нажимать можно только левой рукой (и ставить пальцы в раскоряку для нажатия на CapsLock + Shift + 3).

А Alt можно нажимать как угодно: Alt + (Shift + 3) или (Alt + Shift) + 3.

так как его нажимать можно только левой рукой

Ну это не особо проблема, большинство клавиш по задумке нажимаются только левой или только правой рукой в десятипальцевой слепой печати, а CapsLock всегда рядом с мизинцем, так что для его нажатия получается меньше телодвижений и ближе чем тянуть палец к Shift, например.

и ставить пальцы в раскоряку для нажатия на CapsLock + Shift + 3

А что это за комбинация?

Так изначально весь сыр бор из-за того, что в русской раскладке нет символа # (который на Shift + 3 в английской раскладке), но и постоянно переключаться между двумя раскладками из-за ввода одного символа тоже не хочется.

Сначала я тоже использовал только CapsLock для постоянного переключения между раскладками. Потом перешел на CapsLock/Shift+CapsLock, чтобы не задумываться о текущей раскладке. Потом пытался (пытаюсь) приобщиться к neovim и для этого перебиндил CapsLock на Esc (галочка Make Caps Lock an additional Esc). Стал выбирать, на что заменить CapsLock для переключения раскладки и решил попробовать временное переключение на другую раскладку по Left Win. Пока на этом варианте и остановился.

В любом случае будет, сколько людей, столько и мнений, а на вкус и цвет фломастеры разные ;-)

О, кстати, оказывается и смайлики проще стало набирать :-)

left win у меня задействован в управлении wm, тут как раз важно, чтобы было удобно пользоваться комбинациями кнопок и когда правая рука на мышке.
а переключение раскладки требуется когда обе руки на клавиатуре, тут и правые кнопки вполне удобны (даже удобнее, чем левые; речь про правшей, разумеется)

Ну не знаю, не знаю, такие замороки...
Почти не пользуюсь символом "№"

cat .Xmodmap
keysym 0x6b0 = 0x23

В автозагрузке(я загружаюсь через startx и поэтому сия команда прописана в $USER/.xinitrc)

xmodmap .Xmodmap

Там что угодно на что угодно назначить можно. Теперь Shift+

Но лучше так не делать. Мне уже написали, что в некоторых системах keysym 0x6b0 = 0x23 замещает и простую тройку.
Альтернатива, которая не будет косячить нигде:
cat $USER/.XCompose
<Multi_key> <3> <3> : "#" numbersign # NUMBER SIGN

Странно, а я уже много лет так делаю (на левый Alt другую раскладку установил)

После возникновения болей в запястье я решил радикально поменять свое окружение и больше не пользоваться клавиатурой ноута. Долго искал разные варианты, пока не наткнулся на реддите на раздел механических клавиатур. И тогда мне захотелось собрать полностью кастомную разделенную клавиатуру.
Теперь у меня нету проблем с разными символами, ведь они у меня на отдельном слое не зависимо от раскладки, которую я использую. Также перешел на колмак для инглиша, пальцы перестали болеть вообще. Единственная проблема - переучиваться придеться около месяца, но оно того стоит.

Мой новый сетап: corne/rev1 + Kensington Expert
Hidden text

и если Alt+35 на Numpad под виндой еще сойдет

Я тогда не вижу проблем с переключением раскладки, тем более она у меня переключается капслоком (без сочетаний с другими клавишами).

Отличный совет!

Добавил переключение раскладки для обоих альтов. Красота!

Пожалуйста!

Описанный способ скорее не для Linux, а для Gnome. Кстати, в Gnome не добавили возможность переключения раскладки caps lock?

Кстати, в Gnome не добавили возможность переключения раскладки caps lock?

Не знаю, если честно

Что то у меня не выходит. Клавишу назначил, но решетка не вводится. Что я делаю не так?

А какой символ вводится вместо него?

Раскладка на другой язык переключается во время нажатия на Alt?

цифра 3

нет

Нужно еще Shift удерживать, т.е. Alt + Shift + 3.

Тогда и будет решетка, а без шифта вводятся естественно цифры.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории