LINUX.ORG.RU

10
Всего сообщений: 98

Независимые от раскладки хоткеи в Sway

Есть две раскладки. ru и en. Хоткеи работают только с английской раскладкой. Не смог сходу нагуглить, как сделать так, чтобы они не зависили от выбранной раскладки. Конфигурация клавиатуры в конфиге sway сейчас выглядит так:

input "type:keyboard" {
    xkb_layout us,ru
    # xkb_variant ,nodeadkeys
    xkb_options grp:caps_toggle
}

 ,

hateWin ()

Зажигание светодиода CapsLock на второй клавиатуре

Здравствуйте,

Есть 2 клавиатуры - одна с диодом на CapsLock - другая без

делаю

setxkbmap -layout us,ru -option grp:rwin_toggle,grp_led:caps

меняю расскладку через rwin на клавиатуре без диода - и диод на 2й клавиатуре не загорается

если нажать rwin на 2й клавиатуре с диодом - то всё горит

если менять расскладку через панель - то всё горит

если не настраивать расскладку - диод зажигается когда CapsLock включаю на той клавиатуре где диода нет!

пробовал на 2х ОС - ubuntu - debian - убунта свежая - debian 10 - одинаково себя ведут

 , , , ,

ixvz ()

Фиксированная раскладка клавиатуры

Добрый день.

Вот у меня есть три раскладки, допустим, us, ru, de. Как можно забиндить клавиши для их фиксированного переключения, то есть, к примеру, Caps+1=us, Caps+2=ru, Caps+3=de?

 , ,

kotEe ()

Как получить текущую раскладку клавиатуры из Python?

Здравствуйте! Нужно получить раскладку клавиатуры из Python. Пробовал просто из консоли через setxkbmap (и пробовал из Python запускать), работает, но очень громоздко:

setxkbmap -print | grep xkb_symbols | awk '{print $4}' | awk -F"+" '{print $2}'

Собственно, вопрос, можно ли покороче, или есть может какая-нибудь библиотека для Python, которая это умеет? Если в Wayland это проще, то как?

 , , , ,

thm ()

Задрали иконки индикатора раскладки в виде флагов

Блин, если я печатаю латинскими буквами, это не значит, что пишу на американском языке, как пытается мне внушить раскладка. Аналогично с кириллицей: Россия не единственное государство, использующее эту письменность.

Короче говоря, подскажите, где взять или как сделать svg-иконки примерно такого вида: надпись LAT синим по жёлтому и надпись RUS белым по красному.

Использую XFCE, так что вроде будет просто заменить нужные файлы в /usr/share/xfce4/xkb/flags.

 ,

hbee ()

Sticky keyboard ! (EXWM & XkbLayout)

Bonjour !

Debian 10; Emacs 26; EXWM 0.24;

В /etc/default/keyboard:

XkbLayout="us,ru"
XkbOptions="grp:shifts_toggle" 

Соотвественно, переключение языка ввода происходим по одновременному зажатию шифтов.

Проблема в том, что клавиатура начинает странно себя вести при использовании ru-раскладки в EXWM-буферрах, e.g в хромом, а именно: все клавиши начинают залипать (keydown регестрируется, а keyup – нет), при этом бесконечного ввода не происходит, он совершается лишь единожды.

На этом скрине постарался отобразить ситуацию. Как видно, до ивентов 8 и 9 (переключение en на ru) все хорошо, а после – уже нет. Если вновь переключиться на en и нажать залипшую клавишу, то после ввода она таки получает key release…

Не знаю куда копать, надеюсь, если это баг, то фиксящийся. А, быть может, мне стоит иначе менять язык ввода ? Видел нити в Сети на предмет input-methods, но как это адекватно юзать не понял. Also, планирую использовать reverse-im.el, но проблема не внем (я его временно снес).

 , , ,

oOoOo ()

Поменять назначение клавиши (дублирование Shift)

Являюсь несчастынм обладателем клавиатуры где вместо большого левого шифта - мелкий шифт и бесполезная клавиша «<» или «/». Мизинец далеко тянуть, уже болит. Подскажите пожалуйста как эту клавишу назначить модификатором Shift. Fedora xfce. https://imgur.com/aGyeQfG

 , ,

WildUser ()

Я тут создал пару полиглотских европейских раскладок клавиатуры для Ubuntu Focal. Зацените

sudo add-apt-repository ppa:vitaly-v-ch/ppa
sudo apt-get update
sudo apt-get install xkb-data

Поддерживаемые языки:

  • en-cz_sk_pl_de_fi_sv (c соблюдением чешских и словацких традиций)
  • en-cz_sk_pl_de_es_fi_sv_fr_it (альтернатива «eu» но со славянскими языками)

Ссылки на изображения:

ЗЫ: Первая из этих раскладок принята в ап-стрим

 , , ,

cvv ()

GNOME, X11, переключать по caps lock две раскладки из трёх

У меня было две раскладки, которые переключались по caps lock. Я хочу добавить третью, но так, чтобы она не мешала двум основным. Один из двух вариантов подойдёт, лучше первый:

  1. Caps lock переключает только между первыми двумя. Третью можно включить каким-нибудь способом (из меню мышкой или проклацать по super+space — удобство вообще не важно).
  2. Caps lock переключает между двумя последними в использовании. По super+space можно выбрать любую.

Вообще говоря, super+space работает как раз по второму варианту — он переключает между двумя последними использованными, а если удержать super, появляется меню для выбора любой. Но caps lock почему-то тупо крутит их по кругу, а не повторяет это поведение. Может, есть способ исправить?

Я видел интересный способ здесь, который бы решил вопрос по первому сценарию, но к моему удивлению, ISO_Prev_Group и ISO_First_Group просто игнорируются! Я пытался даже отредактировать системные раскладки в /usr/share/X11/xkb/ и опытным путём понял, что эти два кода не имеют эффекта в гноме. Кто-то знает, с чем это может быть связано, куда копать, как исправить?

 , , , ,

gentoo_root ()

Ошибка XKB в манджаро

Установил манджаро и при добавлении англ раскладки или назначении любой горячей клавиши выскакивает предупреждение - http://ibb.co/qgHqHmV

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

 ,

hyperion92 ()

Мышь и XKB. Мышь путает раскладки

Слетают настройки мыши.

Дано:
Мышь (usb) с кучей кнопок, которые настроены через спец. утилиту под офтопиком.
Функции кнопок мыши в основном дублируют клавиши клавиатуры или комбинации клавиш.
Настройки загружены во внутреннюю память мыши.
При подключении мыши к машине с линуксом (Ubuntu) всё работает как задумано.

На Линуксе работает собственная раскладка клавиатуры, в которой многие кнопки поменяны местами.
Эта пользовательская раскладка подключается командой:

xkbcomp -I$HOME/.config/xkb $HOME/.config/xkb/keymap.xkb $DISPLAY

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

Решается просто физическим переподключением мыши.

Вопрос:
Какой командой можно заставить мышь перечитать настройки клавиатуры или просто программно её «переподключить»?

Update.
Попробовал программу которая перезагружает usb-устройства
GitHub/jkulesza/usbreset
но никакого эффекта не дало. Мышь отключилась и вновь включилась, но настройки не перечитала.
Не знаю куда думать.

 ,

Dreamdrawer ()

сканер штрихкода и Fedora 4

Есть система с дистрибутивом, базирующимся на Fedora core 4 (обновлять не предлагать). На ней запускается программа в иксах, без рабочего стола. Интерфейс программы на русском, но изначально ввод с клавиатуры был возможен только на английском. Для клавиатуры русскую раскладку я добавил через конфиги иксов. Теперь есть задача подключить сканер штрихкодов в режиме клавиатуры. Сейчас сканер вводит только латинские буквы и цифры. Как добавить для него русскую раскладку? Какая должна быть XkbModel?

 , ,

Wekuda ()

Переназначение светодиода

Здравствуйте.

Мучаюсь с LED индикатором раскладки клавиатуры.

Так как XkbOptions в качестве grp_led умеет только grp_led:num, grp_led:caps и grp_led:scroll, и ни одного из этих led на моём ноутбуке нет, пытаюсь решить проблему:

  1. Выбираю вариант grp_led:caps
  2. Меняю раскладку
  3. В ‘/sys/class/leds/input3::capslock/brightness’ записывается ‘1’. Всё как нужно.
  4. Как бы мне сделать, чтобы оно прилетало в ‘/sys/class/leds/platform::micmute/brightness’ (светодиод выключенного микрофона)? Симлинки не создаются.

Спасибо за ответ.

 , ,

SusLeek ()

Настройка XKB

Привет. Пытаюсь поменять местами клавиши на клаве, решил сделать не топорно правя файлы в /usr/share/X11, а через конфик-опцию в sway

input <identifier> xkb_file <file_name>
           Sets all xkb configurations from a complete .xkb file. This file can be dumped from xkbcomp $DISPLAY keymap.xkb. This setting overrides xkb_lay‐
           out, xkb_model, xkb_options, xkb_rules, and xkb_variant settings.

сделал дамп через xkbcomp:

root /usr/share/X11/xkb/rules # xkbcomp $DISPLAY xkb_config.xkb

подключаю:

input keyboard xkb_rules "xkb_config.xkb"

Результат - жалуется на ошибки в файле, пытался скомпилировать .xkb в .xkm, итог аналогичный. Может кто уже мучился? Если чего-то накостылится, то хотелось бы кинуть xkb_config.xkb в ~/.config/sway, но никак не выходит, не находится там конфиг, по-всякому задавал пути - отностельный и абсолютные. Интересно, почему решили взять иксовый xkb? Как-то причесать бы его под wayland.

 , ,

pavlick ()

XKB. Как разблокировать шифт-уровень?

Ситуация.
Пробел блокирует «шифт-уровень», тем самым позволяя выделять текст при движении курсора.

Клавиша «c» копирует выделенный текст.

Выглядит это следующим образом:

key <SPCE> {
    symbols [Group1] = [ space, space ],
    actions [Group3] = [ LockMods(mods=Shift) ]};

key <AB03> {
    symbols = [ NoSymbol ],
    actions = [ RedirectKey(key=<INS>, mods=Control, clearmods=Shift) ]};

Всё работает, но после того как текст скопирован, у меня нет необходимости продолжать выделеление текста, а шифт продолжает оставаться зажатым. Приходится нажимать повторно «пробел», чтобы выйти из «режима выделения».

Как сделать, чтобы при нажатии клавиши «c» снимался флаг «Shift_Lock»?

Почему не срабатывает директива «clearmods=Shift»?

Это действие в XKB вообще возможно?

 

Dreamdrawer ()

XKB. Сохранить модификатор на переключателе групп

Задача — повесить на Caps Lock переключатель групп и сохранить на нём же действующий модификатор Control.

Делаю так:

key <CAPS> {
    symbols[Group1] = [ Control_L ],
    actions[Group1] = [ LockGroup(group=3), SetMods(mods=Control) ],
    actions[Group3] = [ SetMods(mods=Control)]
};

В результате, если зажать Caps Lock, он переключает группу, но модификатор не устанавливает. Чтобы модификатор заработал, приходится отжимать капс и зажимать снова.

Как сделать, чтобы не приходилось отжимать капс?

 

Dreamdrawer ()

openbox или что-то еще меняет клавиши смены раскладки

Рукалицо, не могу найти кнопку удалить тему, gxkb.cfg отредактировал и все взлетело

 , ,

FlaskStealsRL ()

Не работает опция в иксовом конфиге клавиатуры

Народ, помогите тупому. Сделал конфиг для иксов чтобы глобально настроить раскладки, смену и тп. Конфиг такой

Section "InputClass"
	Identifier "keyboard-all"
	MatchIsKeyboard "on"
	MatchDevicePath "/dev/input/event*"
	Driver "evdev"
	Option "XkbLayout" "us,ru"
	Option "XkbOptions" "terminate:ctrl_alt_bksp"
       	Option "XkbOptions" "grp:alt_shift_toggle"
	Option "XkbOptions" "ctrl:swapcaps"
EndSection

И вот какая шляпа, конфиг вроде как задействован, потому что раскладки появляются, но вот по альт-шифт раскладка не меняется и капс с контролом не меняются. Синтаксис вроде правильный, я проверял в мане и в гентувики. Что тут не так?

 , , ,

Linux_Newbie ()

XKB. Сканкод+виртуальный модификатор

Возможно ли реализовать средствами XKB одновременно и ввод символа и активировать вируальный модификатор?

На деле задача состоит в том, чтобы одним нажатием ввести «Esc» и переключить раскладку на третий уровень (ISO_Level3_Lock)

Что-то вроде:

key <ESC> {
    symbols = [ Escape, Escape ],
    actions = [
        Redirect(key=<ESC>, mods=LevelThree),
        Redirect(key=<ESC>, mods=LevelThree)
    ]};

Быть может возможно в «интерпретацию»

interpret ISO_Level3_Lock+Any {
	useModMapMods= level1;
	virtualModifier= LevelThree;
	action= LockMods(modifiers=LevelThree);
    };

каким-то образом добавить ввод символа «Escape»?

 

Dreamdrawer ()

XKB. Выделение без Shift

Как реализовать способ выделения без необходимости удерживать клавишу Shift средствами XKB?

Теоретически, это даже реализовано посредством зажатия двух шифтов:
key <LFSH> {[ Shift_L, Shift_Lock ]};

Но хотелось бы переназначить на привычный ModX+SPC.
Казалось бы, следуя логике, делаю по аналогии:
key <SPCE> {[ space, Shift_Lock ]};
Перечитываю XKB, ошибок не показывает. Но не работает. Т. е. попросту никак на реагирует на заданное сочетание ModX+SPC. А вдобавок, начинает вести себя чертовски непредсказуемым образом — часть клавиш начинает пропечатываться заглавными буквами, смена регистра начинает происходить после нажатия практически любого модификатора. Логику в поведении можно проследить, но не вижу смысла описывать, поскольку вести себя так не должно. Лечится возвратом к стандартному определению key <SPCE> {[ space ]};.

  1. Прошу подтвердить на собственном опыте, — у вас это будет работать так же (с такими же «артефактами»)?

  2. Существуют ли альтернативные способы реализации поставленной задачи средствами XKB?

 

Dreamdrawer ()