LINUX.ORG.RU

Переключение языка: левый shift - один язык, правый shift - другой язык.

 ,


2

2

Здравствуйте, подскажите какой дистрибутив выбрать, чтобы настроить такой вариант переключения языков: левый shift - один язык, правый shift - другой язык. На стековерфлоу нашел, что такое было возможно в одной из версий Убунты, но в следующей - возможность пропала. В принципе нашел как это сделать на С++, но хотелось бы стандартными средствами.

А потом добавится третья раскладка и третий shift искать?

У меня раскладки повешены на Ctrl+[1,2,3,4]. Дополнительно две основные переключаются между собой по Caps Lock (со светодиодным индикатором, конечно).

aquadon ★★★★★ ()
Последнее исправление: aquadon (всего исправлений: 1)
Ответ на: комментарий от peregrine

Друзья, «большие буквы» печатаются при нажатии и не_отпускании шифта.

Третий и последующие языки я планирую начать переключать в следующем столетии.

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

Jack22 ()
Ответ на: комментарий от Jack22

Дистрибутив любой. Просто настрой хоткеи, но будет не шибко удобно. Гуглить в сторону setxkbmap, если её возможностей недостаточно, запихнуть команду переключения раскладки на нужную локаль через setxkbmap в скрипт, а скрипты повесить на правый и левый shift-ы соответственно.

peregrine ★★★★★ ()
Последнее исправление: peregrine (всего исправлений: 1)
Ответ на: комментарий от peregrine

если правильно помню, то в setxkbmap нет отдельно кода left_shift или right_shift. Есть только только группа «оба_шифта».

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

Jack22 ()
Ответ на: комментарий от Jack22

Писать? Не на божественном Си? Вы знаете толк.

grep «grp:.*toggle» /usr/share/X11/xkb/rules/base.lst

Смотрим вниз, комбинации есть, читаем man, пробуем в терминале.

Сам я Shift использую нормально, Caps у меня CTRL.
setxkbmap -option ctrl:nocaps -option grp:win_space_toggle us,ru -variant dvp,typewriter

Каждый как умеет, так и печатает ;)

Vault_Boy ()
Последнее исправление: Vault_Boy (всего исправлений: 1)
Ответ на: комментарий от russian-turist-2019

Не нужны индикаторы раскладки всегда знаешь какая раскладка включена. Нет конфликта с хоткеями с shift+ (если s1kls юзать для переключения)

anonymous ()
Ответ на: комментарий от Jack22

Переключение на нужный язык одним нажатием клавиши (в данном случае shift) является очень распространенной практикой.

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

anonymous ()
Ответ на: комментарий от Vault_Boy

Vault_Boy, я пишу на «Божественном Си», но использую компилятор и синтаксис С++ )) Я прекрасно понимаю, что таблицы виртуальных методов в 99.93% есть лишь нежелание подумать над структурой проекта и для серьезных серверов - неприемлемо. А для «разведения» модулей по областям видимости достаточно статических переменных и методов. Но это всё в Debian.

А десктопных линуксов очень много и я не знал, что такая проблема в принципе может возникнуть. Раньше я пробовал пару дистрибутивов, но не смог её решить. После того, как на англоязычной версии стековерфлоу человеку на этот вопрос ответили целых 0 раз, я понял, что если и смогу найти ответ, то только на этом форуме. И теперь (в выходные) - с помощью добрых и отзывчивых форумчан - уверен, что решу проблему!

Кстати, мне ещё надо будет чтобы цифра 5 на цифровой клавиатуре выдавала код клавиши «стрелка вниз». В винде для этого пришлось специальный драйвер написать (правда давно). Надеюсь тут будет проще.

Jack22 ()
Ответ на: комментарий от Jack22

Я прекрасно понимаю, что таблицы виртуальных методов в 99.93% есть лишь нежелание подумать над структурой проекта и для серьезных серверов - неприемлемо.

Обоснуй.

Я вот наоборот, читал людей, которые наоборот, в Си таблицы виртуальных методов руками (!) городят.

hobbit ★★★★★ ()
Ответ на: комментарий от Vault_Boy

Рад, что доставил вам минуты эмоциональной разгрузки, но, специально написанный софт (разными людьми), и советы форумчан «какбы намекают» на невозможность решения стандартными способами.

Но и по стандартному софту - сделал переопределение одной клавиши с помощью xmodmap, но в Циннамоне перестали работать Ctrl+с Ctrl+v на обоих языках. Ну вот что это? Понятно, что с этим разберусь и на винду уже не вернусь, но хотелось бы поменьше «экстрасенсорики».

Если Mint (а перед ним я ещё несколько дистрибутивов попробовал) сам подцепил все Fn-клавиши моего ноута, то это уже явное «приглашение к работе», а не к шаманизму..

А вот Wifi не цеплялся - и только гены пра-пра-пра-пра-бабки колдуньи позволили возникнуть мысли: «а не переустановить ли канал в wifi-роутере на чёнить в пределах 10?». И точно! Заработало! Но из этого следует, что с точки зрения роутеров линуксоиды (моей конфигурации) неотличимы от старушек, неосведомленных о наличии каналов, конфликтах в них и возможности вывести свою технику, за стандартные диапазоны, например, на 13-й.

Но, к счастью, мне повезло с комьюнити! А в инете действительно много примеров, когда вспоможествование проходит не сильно гладко..

Jack22 ()
Ответ на: комментарий от greenman

обычными шортами Strg+Shift тоже не задумываешься на что переключать. Просто жмешь пока не получишь желаемое. А вот по mod+цифра уже надо смотреть на клавиши

jtad ()
Ответ на: комментарий от hobbit

«таблицы виртуальных методов руками (!) городят.»

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

Но, надо понимать, что ничего кроме машинных кодов не существует. ASM это «синтаксический сахар» над машинными кодами, C - «синтаксический сахар» над ASM-ом С++ со статическим наследованием, неймспейчами и т.п. это «синтаксический сахар» над C.

А вот виртуальные методы, это, простите, уже «интерпретатор», это уже Бейсик, Джава. Если язык ищет метод в момент выполнения, то чем он отличается от php (при всём уважении к последнему)?

Jack22 ()
Ответ на: комментарий от jtad

«обычными шортами Strg+Shift тоже не задумываешься на что переключать.»

Это всё понятно! Просто Shift-ы - на них уже лежат мизинцы. Мне показалось, что Цитрамон автоматом включает переключение по одному нажатию Ctrl. Круто, почти как надо! Но на ноутах Ctrl не там где на обычных клавах. У меня R-Ctrl рядом с пробелом.

А почему такое сделано для Ctrl, для Alt, даже для Win(что это за хрень такая - кнопка с квадратиками? в Линукс??), но не сделать для Shift - удивляет.

Jack22 ()
Ответ на: комментарий от Jack22

А вот Wifi не цеплялся - и только гены пра-пра-пра-пра-бабки

Ахах. Ну снова умилили. Не цеплялся ))) Он как раз цепляется, да вот работает при помехе плохо (соседи, добрый вечер), чо и позволяет исправить смена канала.

Если Mint (а перед ним я ещё несколько дистрибутивов попробовал) сам подцепил все Fn-клавиши моего ноута

А вот Windows 7 сама клавиши не цепляет, ай-ай. Надо шамана вызывать.

в Циннамоне перестали работать Ctrl+с Ctrl+v

Нам, пользователям Tiled WM, Вас очень жалко. Недавно смотрел на Gnome в Ubuntu 20.04, так мне очень всё понравилось. Красиво, живенько, настройки интересные.

Vault_Boy ()
Ответ на: комментарий от Vault_Boy

«Он как раз цепляется, да вот работает при помехе плохо»

ну вам виднее! Действительно, скорее всего весь дом из старушек одновременно перенастроил свои роутеры на 13-канал. А Цитрамон обалдел от этого и даже забыл предоставить контролы для изменения каналов, да и сам роутер отказался отображать.

Но теперь, благодаря вашей подсказке! я понял, что когда все старушки массово переключаются за 10-й канал, то в принципе нет нужды ни в контроле для изменения каналов, ни даже отображения таких роутеров!

Теперь мне стало совершенно очевидно, что если драйвер не видит роутеры за 10 каналом, то это из-за старушек! Спасибо вам за подсказку!

Jack22 ()
Ответ на: комментарий от jtad

«Если уж мы говорим о 10 тыкательном методе»

мы не говорим о 10 тыкательном методе. Мы сказали, что мизинцы там лежат. Возможно у кого-то мизинцы лежат в других местах, но я под себя настраиваю.

Jack22 ()
Ответ на: комментарий от jtad

«при нажатии разных шифт+буква у тебя постоянно меняется раскладка?»

я же говорю - колдун, да ещё и пара-пара-пара-бабушка. Не пытайтесь понять - это Высшие Сферы…

Jack22 ()
Ответ на: комментарий от Jack22

Представляю обычного пользователя, который ЗНАЕТ, ЧТО писать в реестре )))))

Ну Вы просто радуете весь день.

Ну а с рутерами всё просто, полохо работает инет - перегрузи. А в настройках по умолчанию AUTO. Сегодня Вы смотрели, на 2 канале пусто (да хоть на 11), а в выходные, когда нагрузка, мелкие профессионалы тоже ползут за 10. Вот и наложение.

Vault_Boy ()
Ответ на: комментарий от Vault_Boy

P.S. Вот Вы мне лучше помогите. Мне в силу необходимости надо поработать в VS 2019. Как поменять курсор на «кирпичик». Не вижу я курсора на ноуте. Вот не вижу и всё. В VSCode есть опция, а в этом комбайне найти не могу. И в Windows тоже бы поменять. Я просто не знаком с Windows.

Vault_Boy ()
Ответ на: комментарий от jtad

при нажатии разных шифт+буква у тебя постоянно меняется раскладка?

tapper реагирует не на длительное нажатие, а на очень короткое нажатие (лёгкий удар, стук; по-английски tap). Поэтому таких проблем нет.

И шоткаты не ломаются, проверено.

greenman ★★★★★ ()
Последнее исправление: greenman (всего исправлений: 4)
Ответ на: комментарий от anonymous

Пробовал я когда-то s1kls. Получил конфликт с управляющими клавишами ноута (Fn+F1..F12). Кстати, программа не юзерспейсная, у неё бит setuid выставлен. tapper в версии для иксов обходится без этого.

greenman ★★★★★ ()
Последнее исправление: greenman (всего исправлений: 1)
Ответ на: комментарий от LV426

Если вы используете другой дистрибутив <не Федора>, вам придётся построить Таппер из исходников. Иструкции по построению смотрите в INSTALL.md.

https://kbd-tapper.sourceforge.io/ru.html

https://kbd-tapper.sourceforge.io/install.html

greenman ★★★★★ ()